First pass at IdB
Refactored project modules
Refactored classes
Fix check-style
Fixes after refactoring