lots of changes lol