better explanation of software