Implement prototype