refactor: get rid of unneeded abstraction