renamed structs to look more like JS conventions and started on scope module