moving things into separate header cpp files