spec7: need to refactoring
spec7: complete spec7