F2prateek/refactor