command processing
merged