refactor: test struct output
update: Panic/NotPanic
update: remove Func
update: new api design