Refactor, and update to include some math... vocab will have to be reworked next iteration...