add some prototypes