add javadoc
add invalid check
add search for solid block
extend MessageableException