half way through providing async access methods
fixed all them memory leak!