wip
typedef, callback