rework
homework6 with light tests