added prototypes