Most commands are now abstract, except special ones