added appropriate dependency injections