lots of small improvments