added more factories and test