Many improvements and cleaning