fix: better callback implementation

build