lots of improvments