Added annotation driven dependency injection