further improvments