Add fluent interfaces, update documentation