made many improvements