reworking 3
perfect 3 working
7 working
3 more efficient