refactor. change routing. resolve #1