allow using move as init method