add: function definition and call