bind was colliding with std::bind, so using ::bind