added function declarations to organize later