Reorganise structure.impl structure
Add alternative binding implementations.