Keep the original interface, but add new, more-flexible interfaces