support more types for inner class definitions