separated .h files into .h and .cpp files following standards