this version builds and checks successfully, at least on my computer