actually executing function