started working on basic functions