finished Lab2, only need to impove error report