Removed some useless returns; reporting failed functions; argument parsing is its own function again