preprocessing added