[+] implement command interface