reworked skipped macro block code, better printing, constructor