refactor + tabaga changes