seems to have a minor bug, sometimes some numbers are switched