fix add function