refactoring of models, request as separate model