changed to dictionary based approach for execution