moved definition into .cpp