major re-structuring

* renaming
* reorganization
* new tag methods