re-implement yahoo