1.2 lvl function almost finish