added an enum to represent commands