tested move method seems to be working ok but needs a handler for the case when a move is invalid because it goes into brainfucked mode, if someone is up to do it be my guest, I won't have time to the end of the week probably