use inner class