more API cleanup and docs