generatlize lists
core of reverse