a partial implementation of commands interface