can compile writes
making progress
if sort of works
AND works