Structural design patterns - intial commit (more work comming soon)