refactoring + dropout