Refactor some things

Still playing with how this should work