Refactor quite a bit of everything!