Many minor updates and bug-fixes to address all of @Anxuiz's comments