implement tag inputs