large improvements
large fixes