refactoring for express 3