add split for when a line is between one selected and one non selected component nd make lines slightly opaque by default
add functions to check if part is selected