Good Designs start with Functions