Huge refactor, unneeded methods removed, cleanup etc.