added prototypes
added prototypes