implementation of destructor was moved to .cpp