better and corrected model