added control flow, boolean operators