every function now passes test