Implementing the new API