many improvments