updated to support new instance keyword