only generating the final return list left