1.5hr refactored using new instead of Object.create