updated functions prototypes