more external interfaces