started implementation of some unnecessary design patterns -.-