Desired functions now work and pass tests