using the new design pattern correctly