functional model in ooad