it's better to add Boost as dependency here