pulling functions to separate file