working on moves logic