simpler syntax when creating factories