solved bug where removing tag did not update watchers. also refactored some stuff in main.js.