allow_connection + refactoring

- Kernel.allow_connection allows to get connection but is lazy getting
- refactioring