numbers, but not quite right
basically functional again