split to .h and .cpp