code has been cleaned