add some prototypal programming