fixing async calls and return objects