I didn't know what was expected so ended up implementing two layers of execution