comm optimized ver with constant memory
added aync calls
removed a memory bug