What is the difference between a function and a sub ?