refactored bindings structure