everything compiles, need to make functions