add Python example
inherit from abstract base classes instead
merge