todo: write maze solution