add the add function