change ExecuteCommand to return an error