you want some procedures, some prototypes, a little bit of function action