rework of hw1