updated exec impl