Working version. Ready for submit, but still need to do bonus questions