Huge API cleanup