Lots of changes. Oops