add ucfirst to factory methods