First commit with all the initial architecture