separating functions and classes