made 1 & 2 tasks functional + lots of modularity injected