Final submission with what i think works