code more clean