make more clean code