impl without lua
self test framework
do not use self test framework