add remaining subclasses
add remaining derived subclasses