- add tagged.class and few refactor