source code intended to be used for structural design patterns training