Moved base definition into a folder
Added support for `type` tag
Allow for multiple types