software independence