add fluent api