refactoring on flatten

Signed-off-by: Filiberto Cota <filiberto.cota@gmail.com>