add flatten function