strengthen question model spec
add docs
add Simulator#solve