add function atod