changed some functions to static and moved their definition to separate header