many improvements and some bug fixes