switched from recursive callbacks in DL protocol to inline ones. Fixes #12