version 4 commented