refactoring core.ascyn stuff in a CSP manner