modified with more commands