add lines + break part effects + optimization