Refactor Prototype