Working except for reference to this
Rearrange prototype vs self