a lot of good changes! :)