further along, but output isn't quite right