start reading Design Patterns