move constructor methods to the top