some modification and append