Optionally construct with initial values