move createFromDuration to be the default constructor