add some basic commands, refactored from prototype(s)