implementing line