refactor: make Abstract ABSTRACT