updated
prcatice with functions