add function 'fn'