added step typechecking and augassign type checking