Consistent create methods for tags (fixes #257)

please take a look at the validation carefully, conceptually I might forgotten something.

thanks
fixed