Restructured how instances are created