add prototypes