Shouldn't this be asynchronous ?