Prateek/refactor