lots of updates
lots of fixes improvements and optimizations