error checking for functions and new 'usage' command