first improve in the code