new syntax for states and props
add comments