basic structure and some bootstrapping done