implemented rule 4