Used boost::future to create the synchronous methods instead