x-tag component fullt refactored