added experimental buffered socket read feature