functions call improvements