Slight re-factor on the execution process. There's a little bit more code
but it should be more maintainable.