implement line object