WIP - playing around with refactoring using prototypes