study boost::bind and make one by myself