move construct logic to a seperate methode

so we are able to mock this object without behavior breaking