Added tests - not yet runnning. Added dependency injection