Completed 100% pass version