refactor using context / factory girl