First commit - basic architecture done