add can be a line function