more work on the more flexible implementation