make it more clean