start implementing readline