huge refactor and add stubs for users/tags/components