refactored feature to be flow based. improved commenting in flow and abstract handler