add a function, not tested yet