core: apply new signature and remove some memory allocation

6 jobs for pr/22 in 46 seconds (queued for 4 seconds)