line buffered output / no async / removed loop