best effort(i cant read all code)