Re-Organization and slight refactor.