bunch of modifications