moved to .h and .cpp