make some more improoves