Initial work on checking for valid movements.
There are still a few TODO's to handle on this.

Very buggy work on movement added.