moved from anonymous inner type to static inner type