improved shell execute