removed hard-coded options
small fixes
use boost::smatch
added tentative interfaces