These classes are public API