on the right track using states
parser seems work, add actions