refactoring. man i need to finish this one.
commit.
commit.
back from vacation, major changes.