still not working , sometimes I hate asynchronous programming