[ci skip] refactor using scaffold WIP