good overall
could be better with a bit more effort