implemented reading and writing line based components.