more work on chained api