Major refactor going on.