good but  a few mistakes