getline convenience function