works on the small dataset I've tested it on