Implemented the prototype