create block state, fix some logic in walk state