a lot of modifications made