functions clarified