Refactored code and added dependency on delayed_evaluator
Merge branch 'refactor'