modify: not use Boost.Contract

it's so heavy.