add spec and fix bug
add decode check
add spec