refactored, new stuff
new stuf