add add_domain function