sub-class defination allowed
add type manage in scope