added new API naming + raise TypeError on invalid kwargs