cleared up top-level interfaces a bit more