added prototypes.