removed buffer from return, it may cause early termination and skip some
items