generalised tagging support