private inner class