update api to be more extensible, enable tagging

tagging!