#5 adding functions functionality