all changes implemented