mke code more clean