Final version of code, not submitted one though. Failed to complete, hurts