add construct_lines method and optional arguments to initialize method