Redesign public API
Fix CS and add incomplete interface
Fix CS