Refactored to be fluent