set up basic functions for prototypes