use command like pattern