working on design branch. Adding all foundation