added some prototypes