#31, #32 added class diagram for algorithm interfaces