update the header
write all prototypes