adding multi-writer and non-blocking check of end