Performance vastly improved thanks to adding additional buffering and adjusting buffer size