worked on board, might refactor it alot though, I need to think about how to get some recursion to work