Updated with a few groundworks