the di pattern and ui : part 1