Lots of improvementes