better operator constructors