refactored to use factorygirl