split behavior and api