Six pillars of the 3-GIS software design