Numerous improvments