new facade-based API