Implementing designpatterns