add sourcew code generation
change class heirarchy to leverage code that is same as parent