Some refactoring, still need to figure out what I want to do