added line function