used bcp to remove external boost dependency