1001755 find subclasses

I've not squashed commits yet as it might make it easier to review.

It's a rather big one, sorry about that :)