moves should be passed by board location not screen location so they don't break on devices with differing sizes