Very difficult to read such code