collect on (top) and (pop)