comments
partial solution