functions update 2-7