basic structure of function filled in