user more concise initializer