started restructuring for DI and overall best practices. also added toastr for notifications