interface to public_interface