parser or case syntax
scheme: refactoring
test code improve