code clean & logic separation
code clean & logic separation