updated preach: removing self cycles in preprocessing