included the boost dependency and removed explicit, unneded constructors