Refactoring File Structure to mirror 1.5.* API

no changes to API, but includes updated (and better) file structure from
the 1.5.* API