Framework initial

Build up the framework from scratch