using 3 next level instead 2 level