Updated API with sjrd feedback.