diff --git a/tests/go/solutions/abort.go b/tests/go/func/correct/abort.go similarity index 100% rename from tests/go/solutions/abort.go rename to tests/go/func/correct/abort.go diff --git a/tests/go/solutions/activebits.go b/tests/go/func/correct/activebits.go similarity index 100% rename from tests/go/solutions/activebits.go rename to tests/go/func/correct/activebits.go diff --git a/tests/go/solutions/addlinkednumbers.go b/tests/go/func/correct/addlinkednumbers.go similarity index 100% rename from tests/go/solutions/addlinkednumbers.go rename to tests/go/func/correct/addlinkednumbers.go diff --git a/tests/go/solutions/advancedsortwordarr.go b/tests/go/func/correct/advancedsortwordarr.go similarity index 100% rename from tests/go/solutions/advancedsortwordarr.go rename to tests/go/func/correct/advancedsortwordarr.go diff --git a/tests/go/solutions/alphacount.go b/tests/go/func/correct/alphacount.go similarity index 100% rename from tests/go/solutions/alphacount.go rename to tests/go/func/correct/alphacount.go diff --git a/tests/go/solutions/any.go b/tests/go/func/correct/any.go similarity index 100% rename from tests/go/solutions/any.go rename to tests/go/func/correct/any.go diff --git a/tests/go/solutions/appendrange.go b/tests/go/func/correct/appendrange.go similarity index 100% rename from tests/go/solutions/appendrange.go rename to tests/go/func/correct/appendrange.go diff --git a/tests/go/solutions/atoi.go b/tests/go/func/correct/atoi.go similarity index 100% rename from tests/go/solutions/atoi.go rename to tests/go/func/correct/atoi.go diff --git a/tests/go/solutions/atoibase.go b/tests/go/func/correct/atoibase.go similarity index 100% rename from tests/go/solutions/atoibase.go rename to tests/go/func/correct/atoibase.go diff --git a/tests/go/solutions/basicatoi.go b/tests/go/func/correct/basicatoi.go similarity index 100% rename from tests/go/solutions/basicatoi.go rename to tests/go/func/correct/basicatoi.go diff --git a/tests/go/solutions/basicatoi2.go b/tests/go/func/correct/basicatoi2.go similarity index 100% rename from tests/go/solutions/basicatoi2.go rename to tests/go/func/correct/basicatoi2.go diff --git a/tests/go/solutions/basicjoin.go b/tests/go/func/correct/basicjoin.go similarity index 100% rename from tests/go/solutions/basicjoin.go rename to tests/go/func/correct/basicjoin.go diff --git a/tests/go/solutions/btree.go b/tests/go/func/correct/btree.go similarity index 100% rename from tests/go/solutions/btree.go rename to tests/go/func/correct/btree.go diff --git a/tests/go/solutions/capitalize.go b/tests/go/func/correct/capitalize.go similarity index 100% rename from tests/go/solutions/capitalize.go rename to tests/go/func/correct/capitalize.go diff --git a/tests/go/solutions/challenge.go b/tests/go/func/correct/challenge.go similarity index 100% rename from tests/go/solutions/challenge.go rename to tests/go/func/correct/challenge.go diff --git a/tests/go/solutions/changeorder.go b/tests/go/func/correct/changeorder.go similarity index 100% rename from tests/go/solutions/changeorder.go rename to tests/go/func/correct/changeorder.go diff --git a/tests/go/solutions/chunk.go b/tests/go/func/correct/chunk.go similarity index 100% rename from tests/go/solutions/chunk.go rename to tests/go/func/correct/chunk.go diff --git a/tests/go/solutions/collatzcountdown.go b/tests/go/func/correct/collatzcountdown.go similarity index 100% rename from tests/go/solutions/collatzcountdown.go rename to tests/go/func/correct/collatzcountdown.go diff --git a/tests/go/solutions/compact.go b/tests/go/func/correct/compact.go similarity index 100% rename from tests/go/solutions/compact.go rename to tests/go/func/correct/compact.go diff --git a/tests/go/solutions/compare.go b/tests/go/func/correct/compare.go similarity index 100% rename from tests/go/solutions/compare.go rename to tests/go/func/correct/compare.go diff --git a/tests/go/solutions/concat.go b/tests/go/func/correct/concat.go similarity index 100% rename from tests/go/solutions/concat.go rename to tests/go/func/correct/concat.go diff --git a/tests/go/solutions/concatparams.go b/tests/go/func/correct/concatparams.go similarity index 100% rename from tests/go/solutions/concatparams.go rename to tests/go/func/correct/concatparams.go diff --git a/tests/go/solutions/convertbase.go b/tests/go/func/correct/convertbase.go similarity index 100% rename from tests/go/solutions/convertbase.go rename to tests/go/func/correct/convertbase.go diff --git a/tests/go/solutions/countif.go b/tests/go/func/correct/countif.go similarity index 100% rename from tests/go/solutions/countif.go rename to tests/go/func/correct/countif.go diff --git a/tests/go/solutions/createelem.go b/tests/go/func/correct/createelem.go similarity index 100% rename from tests/go/solutions/createelem.go rename to tests/go/func/correct/createelem.go diff --git a/tests/go/solutions/divmod.go b/tests/go/func/correct/divmod.go similarity index 100% rename from tests/go/solutions/divmod.go rename to tests/go/func/correct/divmod.go diff --git a/tests/go/solutions/doppelganger.go b/tests/go/func/correct/doppelganger.go similarity index 100% rename from tests/go/solutions/doppelganger.go rename to tests/go/func/correct/doppelganger.go diff --git a/tests/go/solutions/eightqueens.go b/tests/go/func/correct/eightqueens.go similarity index 100% rename from tests/go/solutions/eightqueens.go rename to tests/go/func/correct/eightqueens.go diff --git a/tests/go/solutions/enigma.go b/tests/go/func/correct/enigma.go similarity index 100% rename from tests/go/solutions/enigma.go rename to tests/go/func/correct/enigma.go diff --git a/tests/go/solutions/fib.go b/tests/go/func/correct/fib.go similarity index 100% rename from tests/go/solutions/fib.go rename to tests/go/func/correct/fib.go diff --git a/tests/go/solutions/fibonacci.go b/tests/go/func/correct/fibonacci.go similarity index 100% rename from tests/go/solutions/fibonacci.go rename to tests/go/func/correct/fibonacci.go diff --git a/tests/go/solutions/findnextprime.go b/tests/go/func/correct/findnextprime.go similarity index 100% rename from tests/go/solutions/findnextprime.go rename to tests/go/func/correct/findnextprime.go diff --git a/tests/go/solutions/findprevprime.go b/tests/go/func/correct/findprevprime.go similarity index 100% rename from tests/go/solutions/findprevprime.go rename to tests/go/func/correct/findprevprime.go diff --git a/tests/go/solutions/firstrune.go b/tests/go/func/correct/firstrune.go similarity index 100% rename from tests/go/solutions/firstrune.go rename to tests/go/func/correct/firstrune.go diff --git a/tests/go/solutions/foldint.go b/tests/go/func/correct/foldint.go similarity index 100% rename from tests/go/solutions/foldint.go rename to tests/go/func/correct/foldint.go diff --git a/tests/go/solutions/foreach.go b/tests/go/func/correct/foreach.go similarity index 100% rename from tests/go/solutions/foreach.go rename to tests/go/func/correct/foreach.go diff --git a/tests/go/solutions/game23.go b/tests/go/func/correct/game23.go similarity index 100% rename from tests/go/solutions/game23.go rename to tests/go/func/correct/game23.go diff --git a/tests/go/solutions/halfcontest.go b/tests/go/func/correct/halfcontest.go similarity index 100% rename from tests/go/solutions/halfcontest.go rename to tests/go/func/correct/halfcontest.go diff --git a/tests/go/solutions/index.go b/tests/go/func/correct/index.go similarity index 100% rename from tests/go/solutions/index.go rename to tests/go/func/correct/index.go diff --git a/tests/go/solutions/interestingnumber.go b/tests/go/func/correct/interestingnumber.go similarity index 100% rename from tests/go/solutions/interestingnumber.go rename to tests/go/func/correct/interestingnumber.go diff --git a/tests/go/solutions/inverttree.go b/tests/go/func/correct/inverttree.go similarity index 100% rename from tests/go/solutions/inverttree.go rename to tests/go/func/correct/inverttree.go diff --git a/tests/go/solutions/isalpha.go b/tests/go/func/correct/isalpha.go similarity index 100% rename from tests/go/solutions/isalpha.go rename to tests/go/func/correct/isalpha.go diff --git a/tests/go/solutions/isanagram.go b/tests/go/func/correct/isanagram.go similarity index 100% rename from tests/go/solutions/isanagram.go rename to tests/go/func/correct/isanagram.go diff --git a/tests/go/solutions/islower.go b/tests/go/func/correct/islower.go similarity index 100% rename from tests/go/solutions/islower.go rename to tests/go/func/correct/islower.go diff --git a/tests/go/solutions/isnegative.go b/tests/go/func/correct/isnegative.go similarity index 100% rename from tests/go/solutions/isnegative.go rename to tests/go/func/correct/isnegative.go diff --git a/tests/go/solutions/isnumeric.go b/tests/go/func/correct/isnumeric.go similarity index 100% rename from tests/go/solutions/isnumeric.go rename to tests/go/func/correct/isnumeric.go diff --git a/tests/go/solutions/isprime.go b/tests/go/func/correct/isprime.go similarity index 100% rename from tests/go/solutions/isprime.go rename to tests/go/func/correct/isprime.go diff --git a/tests/go/solutions/isprintable.go b/tests/go/func/correct/isprintable.go similarity index 100% rename from tests/go/solutions/isprintable.go rename to tests/go/func/correct/isprintable.go diff --git a/tests/go/solutions/issorted.go b/tests/go/func/correct/issorted.go similarity index 100% rename from tests/go/solutions/issorted.go rename to tests/go/func/correct/issorted.go diff --git a/tests/go/solutions/isupper.go b/tests/go/func/correct/isupper.go similarity index 100% rename from tests/go/solutions/isupper.go rename to tests/go/func/correct/isupper.go diff --git a/tests/go/solutions/iterativefactorial.go b/tests/go/func/correct/iterativefactorial.go similarity index 100% rename from tests/go/solutions/iterativefactorial.go rename to tests/go/func/correct/iterativefactorial.go diff --git a/tests/go/solutions/iterativepower.go b/tests/go/func/correct/iterativepower.go similarity index 100% rename from tests/go/solutions/iterativepower.go rename to tests/go/func/correct/iterativepower.go diff --git a/tests/go/solutions/itoa.go b/tests/go/func/correct/itoa.go similarity index 100% rename from tests/go/solutions/itoa.go rename to tests/go/func/correct/itoa.go diff --git a/tests/go/solutions/itoabase.go b/tests/go/func/correct/itoabase.go similarity index 100% rename from tests/go/solutions/itoabase.go rename to tests/go/func/correct/itoabase.go diff --git a/tests/go/solutions/join.go b/tests/go/func/correct/join.go similarity index 100% rename from tests/go/solutions/join.go rename to tests/go/func/correct/join.go diff --git a/tests/go/solutions/lastrune.go b/tests/go/func/correct/lastrune.go similarity index 100% rename from tests/go/solutions/lastrune.go rename to tests/go/func/correct/lastrune.go diff --git a/tests/go/solutions/lcm.go b/tests/go/func/correct/lcm.go similarity index 100% rename from tests/go/solutions/lcm.go rename to tests/go/func/correct/lcm.go diff --git a/tests/go/solutions/listat.go b/tests/go/func/correct/listat.go similarity index 100% rename from tests/go/solutions/listat.go rename to tests/go/func/correct/listat.go diff --git a/tests/go/solutions/listclear.go b/tests/go/func/correct/listclear.go similarity index 100% rename from tests/go/solutions/listclear.go rename to tests/go/func/correct/listclear.go diff --git a/tests/go/solutions/listfind.go b/tests/go/func/correct/listfind.go similarity index 100% rename from tests/go/solutions/listfind.go rename to tests/go/func/correct/listfind.go diff --git a/tests/go/solutions/listforeach.go b/tests/go/func/correct/listforeach.go similarity index 100% rename from tests/go/solutions/listforeach.go rename to tests/go/func/correct/listforeach.go diff --git a/tests/go/solutions/listforeachif.go b/tests/go/func/correct/listforeachif.go similarity index 100% rename from tests/go/solutions/listforeachif.go rename to tests/go/func/correct/listforeachif.go diff --git a/tests/go/solutions/listlast.go b/tests/go/func/correct/listlast.go similarity index 100% rename from tests/go/solutions/listlast.go rename to tests/go/func/correct/listlast.go diff --git a/tests/go/solutions/listmerge.go b/tests/go/func/correct/listmerge.go similarity index 100% rename from tests/go/solutions/listmerge.go rename to tests/go/func/correct/listmerge.go diff --git a/tests/go/solutions/listpushback.go b/tests/go/func/correct/listpushback.go similarity index 100% rename from tests/go/solutions/listpushback.go rename to tests/go/func/correct/listpushback.go diff --git a/tests/go/solutions/listpushfront.go b/tests/go/func/correct/listpushfront.go similarity index 100% rename from tests/go/solutions/listpushfront.go rename to tests/go/func/correct/listpushfront.go diff --git a/tests/go/solutions/listremoveif.go b/tests/go/func/correct/listremoveif.go similarity index 100% rename from tests/go/solutions/listremoveif.go rename to tests/go/func/correct/listremoveif.go diff --git a/tests/go/solutions/listreverse.go b/tests/go/func/correct/listreverse.go similarity index 100% rename from tests/go/solutions/listreverse.go rename to tests/go/func/correct/listreverse.go diff --git a/tests/go/solutions/listsize.go b/tests/go/func/correct/listsize.go similarity index 100% rename from tests/go/solutions/listsize.go rename to tests/go/func/correct/listsize.go diff --git a/tests/go/solutions/listsort.go b/tests/go/func/correct/listsort.go similarity index 100% rename from tests/go/solutions/listsort.go rename to tests/go/func/correct/listsort.go diff --git a/tests/go/solutions/makerange.go b/tests/go/func/correct/makerange.go similarity index 100% rename from tests/go/solutions/makerange.go rename to tests/go/func/correct/makerange.go diff --git a/tests/go/solutions/map.go b/tests/go/func/correct/map.go similarity index 100% rename from tests/go/solutions/map.go rename to tests/go/func/correct/map.go diff --git a/tests/go/solutions/max.go b/tests/go/func/correct/max.go similarity index 100% rename from tests/go/solutions/max.go rename to tests/go/func/correct/max.go diff --git a/tests/go/solutions/merge.go b/tests/go/func/correct/merge.go similarity index 100% rename from tests/go/solutions/merge.go rename to tests/go/func/correct/merge.go diff --git a/tests/go/solutions/nauuo.go b/tests/go/func/correct/nauuo.go similarity index 100% rename from tests/go/solutions/nauuo.go rename to tests/go/func/correct/nauuo.go diff --git a/tests/go/solutions/nrune.go b/tests/go/func/correct/nrune.go similarity index 100% rename from tests/go/solutions/nrune.go rename to tests/go/func/correct/nrune.go diff --git a/tests/go/solutions/pilot.go b/tests/go/func/correct/pilot.go similarity index 100% rename from tests/go/solutions/pilot.go rename to tests/go/func/correct/pilot.go diff --git a/tests/go/solutions/pointone.go b/tests/go/func/correct/pointone.go similarity index 100% rename from tests/go/solutions/pointone.go rename to tests/go/func/correct/pointone.go diff --git a/tests/go/solutions/printchessboard.go b/tests/go/func/correct/printchessboard.go similarity index 100% rename from tests/go/solutions/printchessboard.go rename to tests/go/func/correct/printchessboard.go diff --git a/tests/go/solutions/printcomb.go b/tests/go/func/correct/printcomb.go similarity index 100% rename from tests/go/solutions/printcomb.go rename to tests/go/func/correct/printcomb.go diff --git a/tests/go/solutions/printcomb2.go b/tests/go/func/correct/printcomb2.go similarity index 100% rename from tests/go/solutions/printcomb2.go rename to tests/go/func/correct/printcomb2.go diff --git a/tests/go/solutions/printcombn.go b/tests/go/func/correct/printcombn.go similarity index 100% rename from tests/go/solutions/printcombn.go rename to tests/go/func/correct/printcombn.go diff --git a/tests/go/solutions/printmemory.go b/tests/go/func/correct/printmemory.go similarity index 100% rename from tests/go/solutions/printmemory.go rename to tests/go/func/correct/printmemory.go diff --git a/tests/go/solutions/printnbr.go b/tests/go/func/correct/printnbr.go similarity index 100% rename from tests/go/solutions/printnbr.go rename to tests/go/func/correct/printnbr.go diff --git a/tests/go/solutions/printnbrbase.go b/tests/go/func/correct/printnbrbase.go similarity index 100% rename from tests/go/solutions/printnbrbase.go rename to tests/go/func/correct/printnbrbase.go diff --git a/tests/go/solutions/printnbrinorder.go b/tests/go/func/correct/printnbrinorder.go similarity index 100% rename from tests/go/solutions/printnbrinorder.go rename to tests/go/func/correct/printnbrinorder.go diff --git a/tests/go/solutions/printstr.go b/tests/go/func/correct/printstr.go similarity index 100% rename from tests/go/solutions/printstr.go rename to tests/go/func/correct/printstr.go diff --git a/tests/go/solutions/printwordstables.go b/tests/go/func/correct/printwordstables.go similarity index 100% rename from tests/go/solutions/printwordstables.go rename to tests/go/func/correct/printwordstables.go diff --git a/tests/go/solutions/priorprime.go b/tests/go/func/correct/priorprime.go similarity index 100% rename from tests/go/solutions/priorprime.go rename to tests/go/func/correct/priorprime.go diff --git a/tests/go/solutions/raid1a.go b/tests/go/func/correct/raid1a.go similarity index 100% rename from tests/go/solutions/raid1a.go rename to tests/go/func/correct/raid1a.go diff --git a/tests/go/solutions/raid1b.go b/tests/go/func/correct/raid1b.go similarity index 100% rename from tests/go/solutions/raid1b.go rename to tests/go/func/correct/raid1b.go diff --git a/tests/go/solutions/raid1c.go b/tests/go/func/correct/raid1c.go similarity index 100% rename from tests/go/solutions/raid1c.go rename to tests/go/func/correct/raid1c.go diff --git a/tests/go/solutions/raid1d.go b/tests/go/func/correct/raid1d.go similarity index 100% rename from tests/go/solutions/raid1d.go rename to tests/go/func/correct/raid1d.go diff --git a/tests/go/solutions/raid1e.go b/tests/go/func/correct/raid1e.go similarity index 100% rename from tests/go/solutions/raid1e.go rename to tests/go/func/correct/raid1e.go diff --git a/tests/go/solutions/reachablenumber.go b/tests/go/func/correct/reachablenumber.go similarity index 100% rename from tests/go/solutions/reachablenumber.go rename to tests/go/func/correct/reachablenumber.go diff --git a/tests/go/solutions/recursivefactorial.go b/tests/go/func/correct/recursivefactorial.go similarity index 100% rename from tests/go/solutions/recursivefactorial.go rename to tests/go/func/correct/recursivefactorial.go diff --git a/tests/go/solutions/recursivepower.go b/tests/go/func/correct/recursivepower.go similarity index 100% rename from tests/go/solutions/recursivepower.go rename to tests/go/func/correct/recursivepower.go diff --git a/tests/go/solutions/reduceint.go b/tests/go/func/correct/reduceint.go similarity index 100% rename from tests/go/solutions/reduceint.go rename to tests/go/func/correct/reduceint.go diff --git a/tests/go/solutions/reverse.go b/tests/go/func/correct/reverse.go similarity index 100% rename from tests/go/solutions/reverse.go rename to tests/go/func/correct/reverse.go diff --git a/tests/go/solutions/reversebits.go b/tests/go/func/correct/reversebits.go similarity index 100% rename from tests/go/solutions/reversebits.go rename to tests/go/func/correct/reversebits.go diff --git a/tests/go/solutions/revivethreenums.go b/tests/go/func/correct/revivethreenums.go similarity index 100% rename from tests/go/solutions/revivethreenums.go rename to tests/go/func/correct/revivethreenums.go diff --git a/tests/go/solutions/rot14.go b/tests/go/func/correct/rot14.go similarity index 100% rename from tests/go/solutions/rot14.go rename to tests/go/func/correct/rot14.go diff --git a/tests/go/solutions/sametree.go b/tests/go/func/correct/sametree.go similarity index 100% rename from tests/go/solutions/sametree.go rename to tests/go/func/correct/sametree.go diff --git a/tests/go/solutions/slice.go b/tests/go/func/correct/slice.go similarity index 100% rename from tests/go/solutions/slice.go rename to tests/go/func/correct/slice.go diff --git a/tests/go/solutions/sortedlistmerge.go b/tests/go/func/correct/sortedlistmerge.go similarity index 100% rename from tests/go/solutions/sortedlistmerge.go rename to tests/go/func/correct/sortedlistmerge.go diff --git a/tests/go/solutions/sortintegertable.go b/tests/go/func/correct/sortintegertable.go similarity index 100% rename from tests/go/solutions/sortintegertable.go rename to tests/go/func/correct/sortintegertable.go diff --git a/tests/go/solutions/sortlist.go b/tests/go/func/correct/sortlist.go similarity index 100% rename from tests/go/solutions/sortlist.go rename to tests/go/func/correct/sortlist.go diff --git a/tests/go/solutions/sortlistinsert.go b/tests/go/func/correct/sortlistinsert.go similarity index 100% rename from tests/go/solutions/sortlistinsert.go rename to tests/go/func/correct/sortlistinsert.go diff --git a/tests/go/solutions/sortll.go b/tests/go/func/correct/sortll.go similarity index 100% rename from tests/go/solutions/sortll.go rename to tests/go/func/correct/sortll.go diff --git a/tests/go/solutions/sortwordarr.go b/tests/go/func/correct/sortwordarr.go similarity index 100% rename from tests/go/solutions/sortwordarr.go rename to tests/go/func/correct/sortwordarr.go diff --git a/tests/go/solutions/split.go b/tests/go/func/correct/split.go similarity index 100% rename from tests/go/solutions/split.go rename to tests/go/func/correct/split.go diff --git a/tests/go/solutions/splitwhitespaces.go b/tests/go/func/correct/splitwhitespaces.go similarity index 100% rename from tests/go/solutions/splitwhitespaces.go rename to tests/go/func/correct/splitwhitespaces.go diff --git a/tests/go/solutions/sqrt.go b/tests/go/func/correct/sqrt.go similarity index 100% rename from tests/go/solutions/sqrt.go rename to tests/go/func/correct/sqrt.go diff --git a/tests/go/solutions/strlen.go b/tests/go/func/correct/strlen.go similarity index 100% rename from tests/go/solutions/strlen.go rename to tests/go/func/correct/strlen.go diff --git a/tests/go/solutions/strrev.go b/tests/go/func/correct/strrev.go similarity index 100% rename from tests/go/solutions/strrev.go rename to tests/go/func/correct/strrev.go diff --git a/tests/go/solutions/swap.go b/tests/go/func/correct/swap.go similarity index 100% rename from tests/go/solutions/swap.go rename to tests/go/func/correct/swap.go diff --git a/tests/go/solutions/swapbits.go b/tests/go/func/correct/swapbits.go similarity index 100% rename from tests/go/solutions/swapbits.go rename to tests/go/func/correct/swapbits.go diff --git a/tests/go/solutions/sweetproblem.go b/tests/go/func/correct/sweetproblem.go similarity index 100% rename from tests/go/solutions/sweetproblem.go rename to tests/go/func/correct/sweetproblem.go diff --git a/tests/go/solutions/tolower.go b/tests/go/func/correct/tolower.go similarity index 100% rename from tests/go/solutions/tolower.go rename to tests/go/func/correct/tolower.go diff --git a/tests/go/solutions/toupper.go b/tests/go/func/correct/toupper.go similarity index 100% rename from tests/go/solutions/toupper.go rename to tests/go/func/correct/toupper.go diff --git a/tests/go/solutions/trimatoi.go b/tests/go/func/correct/trimatoi.go similarity index 100% rename from tests/go/solutions/trimatoi.go rename to tests/go/func/correct/trimatoi.go diff --git a/tests/go/solutions/twosum.go b/tests/go/func/correct/twosum.go similarity index 100% rename from tests/go/solutions/twosum.go rename to tests/go/func/correct/twosum.go diff --git a/tests/go/solutions/ultimatedivmod.go b/tests/go/func/correct/ultimatedivmod.go similarity index 100% rename from tests/go/solutions/ultimatedivmod.go rename to tests/go/func/correct/ultimatedivmod.go diff --git a/tests/go/solutions/ultimatepointone.go b/tests/go/func/correct/ultimatepointone.go similarity index 100% rename from tests/go/solutions/ultimatepointone.go rename to tests/go/func/correct/ultimatepointone.go diff --git a/tests/go/solutions/unmatch.go b/tests/go/func/correct/unmatch.go similarity index 100% rename from tests/go/solutions/unmatch.go rename to tests/go/func/correct/unmatch.go diff --git a/tests/go/solutions/volumechanger.go b/tests/go/func/correct/volumechanger.go similarity index 100% rename from tests/go/solutions/volumechanger.go rename to tests/go/func/correct/volumechanger.go diff --git a/tests/go/test_addlinkednumbers.go b/tests/go/func/test_addlinkednumbers.go similarity index 100% rename from tests/go/test_addlinkednumbers.go rename to tests/go/func/test_addlinkednumbers.go diff --git a/tests/go/test_btreelevelcount.go b/tests/go/func/test_btreelevelcount.go similarity index 100% rename from tests/go/test_btreelevelcount.go rename to tests/go/func/test_btreelevelcount.go diff --git a/tests/go/test_btreemax.go b/tests/go/func/test_btreemax.go similarity index 100% rename from tests/go/test_btreemax.go rename to tests/go/func/test_btreemax.go diff --git a/tests/go/test_btreemin.go b/tests/go/func/test_btreemin.go similarity index 100% rename from tests/go/test_btreemin.go rename to tests/go/func/test_btreemin.go diff --git a/tests/go/test_changeorder.go b/tests/go/func/test_changeorder.go similarity index 100% rename from tests/go/test_changeorder.go rename to tests/go/func/test_changeorder.go diff --git a/tests/go/test_divmod.go b/tests/go/func/test_divmod.go similarity index 100% rename from tests/go/test_divmod.go rename to tests/go/func/test_divmod.go diff --git a/tests/go/test_inverttree.go b/tests/go/func/test_inverttree.go similarity index 100% rename from tests/go/test_inverttree.go rename to tests/go/func/test_inverttree.go diff --git a/tests/go/test_merge.go b/tests/go/func/test_merge.go similarity index 100% rename from tests/go/test_merge.go rename to tests/go/func/test_merge.go diff --git a/tests/go/test_pointone.go b/tests/go/func/test_pointone.go similarity index 100% rename from tests/go/test_pointone.go rename to tests/go/func/test_pointone.go diff --git a/tests/go/test_reverse.go b/tests/go/func/test_reverse.go similarity index 100% rename from tests/go/test_reverse.go rename to tests/go/func/test_reverse.go diff --git a/tests/go/test_reversebits.go b/tests/go/func/test_reversebits.go similarity index 100% rename from tests/go/test_reversebits.go rename to tests/go/func/test_reversebits.go diff --git a/tests/go/test_sametree.go b/tests/go/func/test_sametree.go similarity index 100% rename from tests/go/test_sametree.go rename to tests/go/func/test_sametree.go diff --git a/tests/go/test_sortll.go b/tests/go/func/test_sortll.go similarity index 100% rename from tests/go/test_sortll.go rename to tests/go/func/test_sortll.go diff --git a/tests/go/test_swap.go b/tests/go/func/test_swap.go similarity index 100% rename from tests/go/test_swap.go rename to tests/go/func/test_swap.go diff --git a/tests/go/test_ultimatedivmod.go b/tests/go/func/test_ultimatedivmod.go similarity index 100% rename from tests/go/test_ultimatedivmod.go rename to tests/go/func/test_ultimatedivmod.go diff --git a/tests/go/test_ultimatepointone.go b/tests/go/func/test_ultimatepointone.go similarity index 100% rename from tests/go/test_ultimatepointone.go rename to tests/go/func/test_ultimatepointone.go diff --git a/tests/go/solutions/addprimesum/main.go b/tests/go/prog/addprimesum/main.go similarity index 100% rename from tests/go/solutions/addprimesum/main.go rename to tests/go/prog/addprimesum/main.go diff --git a/tests/go/solutions/alphamirror/main.go b/tests/go/prog/alphamirror/main.go similarity index 100% rename from tests/go/solutions/alphamirror/main.go rename to tests/go/prog/alphamirror/main.go diff --git a/tests/go/solutions/balancedstring/main.go b/tests/go/prog/balancedstring/main.go similarity index 100% rename from tests/go/solutions/balancedstring/main.go rename to tests/go/prog/balancedstring/main.go diff --git a/tests/go/solutions/boolean/main.go b/tests/go/prog/boolean/main.go similarity index 100% rename from tests/go/solutions/boolean/main.go rename to tests/go/prog/boolean/main.go diff --git a/tests/go/solutions/brackets/main.go b/tests/go/prog/brackets/main.go similarity index 100% rename from tests/go/solutions/brackets/main.go rename to tests/go/prog/brackets/main.go diff --git a/tests/go/solutions/brainfuck/main.go b/tests/go/prog/brainfuck/main.go similarity index 100% rename from tests/go/solutions/brainfuck/main.go rename to tests/go/prog/brainfuck/main.go diff --git a/tests/go/solutions/cat/main.go b/tests/go/prog/cat/main.go similarity index 100% rename from tests/go/solutions/cat/main.go rename to tests/go/prog/cat/main.go diff --git a/tests/go/solutions/cat/quest8.txt b/tests/go/prog/cat/quest8.txt similarity index 100% rename from tests/go/solutions/cat/quest8.txt rename to tests/go/prog/cat/quest8.txt diff --git a/tests/go/solutions/cat/quest8T.txt b/tests/go/prog/cat/quest8T.txt similarity index 100% rename from tests/go/solutions/cat/quest8T.txt rename to tests/go/prog/cat/quest8T.txt diff --git a/tests/go/solutions/cleanstr/main.go b/tests/go/prog/cleanstr/main.go similarity index 100% rename from tests/go/solutions/cleanstr/main.go rename to tests/go/prog/cleanstr/main.go diff --git a/tests/go/solutions/comcheck/main.go b/tests/go/prog/comcheck/main.go similarity index 100% rename from tests/go/solutions/comcheck/main.go rename to tests/go/prog/comcheck/main.go diff --git a/tests/go/solutions/costumeprofit/main.go b/tests/go/prog/costumeprofit/main.go similarity index 100% rename from tests/go/solutions/costumeprofit/main.go rename to tests/go/prog/costumeprofit/main.go diff --git a/tests/go/solutions/countdown/main.go b/tests/go/prog/countdown/main.go similarity index 100% rename from tests/go/solutions/countdown/main.go rename to tests/go/prog/countdown/main.go diff --git a/tests/go/solutions/displaya/main.go b/tests/go/prog/displaya/main.go similarity index 100% rename from tests/go/solutions/displaya/main.go rename to tests/go/prog/displaya/main.go diff --git a/tests/go/solutions/displayalpham/main.go b/tests/go/prog/displayalpham/main.go similarity index 100% rename from tests/go/solutions/displayalpham/main.go rename to tests/go/prog/displayalpham/main.go diff --git a/tests/go/solutions/displayalrevm/main.go b/tests/go/prog/displayalrevm/main.go similarity index 100% rename from tests/go/solutions/displayalrevm/main.go rename to tests/go/prog/displayalrevm/main.go diff --git a/tests/go/solutions/displayfile/main.go b/tests/go/prog/displayfile/main.go similarity index 100% rename from tests/go/solutions/displayfile/main.go rename to tests/go/prog/displayfile/main.go diff --git a/tests/go/solutions/displayfile/quest8.txt b/tests/go/prog/displayfile/quest8.txt similarity index 100% rename from tests/go/solutions/displayfile/quest8.txt rename to tests/go/prog/displayfile/quest8.txt diff --git a/tests/go/solutions/displayfirstparam/main.go b/tests/go/prog/displayfirstparam/main.go similarity index 100% rename from tests/go/solutions/displayfirstparam/main.go rename to tests/go/prog/displayfirstparam/main.go diff --git a/tests/go/solutions/displaylastparam/main.go b/tests/go/prog/displaylastparam/main.go similarity index 100% rename from tests/go/solutions/displaylastparam/main.go rename to tests/go/prog/displaylastparam/main.go diff --git a/tests/go/solutions/displayz/main.go b/tests/go/prog/displayz/main.go similarity index 100% rename from tests/go/solutions/displayz/main.go rename to tests/go/prog/displayz/main.go diff --git a/tests/go/solutions/doop/main.go b/tests/go/prog/doop/main.go similarity index 100% rename from tests/go/solutions/doop/main.go rename to tests/go/prog/doop/main.go diff --git a/tests/go/solutions/expandstr/main.go b/tests/go/prog/expandstr/main.go similarity index 100% rename from tests/go/solutions/expandstr/main.go rename to tests/go/prog/expandstr/main.go diff --git a/tests/go/solutions/firstword/main.go b/tests/go/prog/firstword/main.go similarity index 100% rename from tests/go/solutions/firstword/main.go rename to tests/go/prog/firstword/main.go diff --git a/tests/go/solutions/fixthemain/main.go b/tests/go/prog/fixthemain/main.go similarity index 100% rename from tests/go/solutions/fixthemain/main.go rename to tests/go/prog/fixthemain/main.go diff --git a/tests/go/solutions/flags/main.go b/tests/go/prog/flags/main.go similarity index 100% rename from tests/go/solutions/flags/main.go rename to tests/go/prog/flags/main.go diff --git a/tests/go/solutions/fprime/main.go b/tests/go/prog/fprime/main.go similarity index 100% rename from tests/go/solutions/fprime/main.go rename to tests/go/prog/fprime/main.go diff --git a/tests/go/solutions/gcd/main.go b/tests/go/prog/gcd/main.go similarity index 100% rename from tests/go/solutions/gcd/main.go rename to tests/go/prog/gcd/main.go diff --git a/tests/go/solutions/grouping/main.go b/tests/go/prog/grouping/main.go similarity index 100% rename from tests/go/solutions/grouping/main.go rename to tests/go/prog/grouping/main.go diff --git a/tests/go/solutions/hello/main.go b/tests/go/prog/hello/main.go similarity index 100% rename from tests/go/solutions/hello/main.go rename to tests/go/prog/hello/main.go diff --git a/tests/go/solutions/hiddenp/main.go b/tests/go/prog/hiddenp/main.go similarity index 100% rename from tests/go/solutions/hiddenp/main.go rename to tests/go/prog/hiddenp/main.go diff --git a/tests/go/solutions/inter/main.go b/tests/go/prog/inter/main.go similarity index 100% rename from tests/go/solutions/inter/main.go rename to tests/go/prog/inter/main.go diff --git a/tests/go/solutions/isanagram/main.go b/tests/go/prog/isanagram/main.go similarity index 100% rename from tests/go/solutions/isanagram/main.go rename to tests/go/prog/isanagram/main.go diff --git a/tests/go/solutions/ispowerof2/main.go b/tests/go/prog/ispowerof2/main.go similarity index 100% rename from tests/go/solutions/ispowerof2/main.go rename to tests/go/prog/ispowerof2/main.go diff --git a/tests/go/solutions/lastword/main.go b/tests/go/prog/lastword/main.go similarity index 100% rename from tests/go/solutions/lastword/main.go rename to tests/go/prog/lastword/main.go diff --git a/tests/go/solutions/lcm/main.go b/tests/go/prog/lcm/main.go similarity index 100% rename from tests/go/solutions/lcm/main.go rename to tests/go/prog/lcm/main.go diff --git a/tests/go/solutions/nbrconvertalpha/main.go b/tests/go/prog/nbrconvertalpha/main.go similarity index 100% rename from tests/go/solutions/nbrconvertalpha/main.go rename to tests/go/prog/nbrconvertalpha/main.go diff --git a/tests/go/solutions/nenokku/main.go b/tests/go/prog/nenokku/main.go similarity index 100% rename from tests/go/solutions/nenokku/main.go rename to tests/go/prog/nenokku/main.go diff --git a/tests/go/solutions/onlya/main.go b/tests/go/prog/onlya/main.go similarity index 100% rename from tests/go/solutions/onlya/main.go rename to tests/go/prog/onlya/main.go diff --git a/tests/go/solutions/onlyz/main.go b/tests/go/prog/onlyz/main.go similarity index 100% rename from tests/go/solutions/onlyz/main.go rename to tests/go/prog/onlyz/main.go diff --git a/tests/go/solutions/options/main.go b/tests/go/prog/options/main.go similarity index 100% rename from tests/go/solutions/options/main.go rename to tests/go/prog/options/main.go diff --git a/tests/go/solutions/paramcount/main.go b/tests/go/prog/paramcount/main.go similarity index 100% rename from tests/go/solutions/paramcount/main.go rename to tests/go/prog/paramcount/main.go diff --git a/tests/go/solutions/piglatin/main.go b/tests/go/prog/piglatin/main.go similarity index 100% rename from tests/go/solutions/piglatin/main.go rename to tests/go/prog/piglatin/main.go diff --git a/tests/go/solutions/pilot/main.go b/tests/go/prog/pilot/main.go similarity index 100% rename from tests/go/solutions/pilot/main.go rename to tests/go/prog/pilot/main.go diff --git a/tests/go/solutions/point/main.go b/tests/go/prog/point/main.go similarity index 100% rename from tests/go/solutions/point/main.go rename to tests/go/prog/point/main.go diff --git a/tests/go/solutions/printalphabet/main.go b/tests/go/prog/printalphabet/main.go similarity index 100% rename from tests/go/solutions/printalphabet/main.go rename to tests/go/prog/printalphabet/main.go diff --git a/tests/go/solutions/printbits/main.go b/tests/go/prog/printbits/main.go similarity index 100% rename from tests/go/solutions/printbits/main.go rename to tests/go/prog/printbits/main.go diff --git a/tests/go/solutions/printchessboard/main.go b/tests/go/prog/printchessboard/main.go similarity index 100% rename from tests/go/solutions/printchessboard/main.go rename to tests/go/prog/printchessboard/main.go diff --git a/tests/go/solutions/printdigits/main.go b/tests/go/prog/printdigits/main.go similarity index 100% rename from tests/go/solutions/printdigits/main.go rename to tests/go/prog/printdigits/main.go diff --git a/tests/go/solutions/printhex/main.go b/tests/go/prog/printhex/main.go similarity index 100% rename from tests/go/solutions/printhex/main.go rename to tests/go/prog/printhex/main.go diff --git a/tests/go/solutions/printparams/main.go b/tests/go/prog/printparams/main.go similarity index 100% rename from tests/go/solutions/printparams/main.go rename to tests/go/prog/printparams/main.go diff --git a/tests/go/solutions/printprogramname/main.go b/tests/go/prog/printprogramname/main.go similarity index 100% rename from tests/go/solutions/printprogramname/main.go rename to tests/go/prog/printprogramname/main.go diff --git a/tests/go/solutions/printrevcomb/main.go b/tests/go/prog/printrevcomb/main.go similarity index 100% rename from tests/go/solutions/printrevcomb/main.go rename to tests/go/prog/printrevcomb/main.go diff --git a/tests/go/solutions/printreversealphabet/main.go b/tests/go/prog/printreversealphabet/main.go similarity index 100% rename from tests/go/solutions/printreversealphabet/main.go rename to tests/go/prog/printreversealphabet/main.go diff --git a/tests/go/solutions/raid2/main.go b/tests/go/prog/raid2/main.go similarity index 100% rename from tests/go/solutions/raid2/main.go rename to tests/go/prog/raid2/main.go diff --git a/tests/go/solutions/raid3/main.go b/tests/go/prog/raid3/main.go similarity index 100% rename from tests/go/solutions/raid3/main.go rename to tests/go/prog/raid3/main.go diff --git a/tests/go/solutions/raid3/raid1aprog/raid1a.go b/tests/go/prog/raid3/raid1aprog/raid1a.go similarity index 100% rename from tests/go/solutions/raid3/raid1aprog/raid1a.go rename to tests/go/prog/raid3/raid1aprog/raid1a.go diff --git a/tests/go/solutions/raid3/raid1bprog/raid1b.go b/tests/go/prog/raid3/raid1bprog/raid1b.go similarity index 100% rename from tests/go/solutions/raid3/raid1bprog/raid1b.go rename to tests/go/prog/raid3/raid1bprog/raid1b.go diff --git a/tests/go/solutions/raid3/raid1cprog/raid1c.go b/tests/go/prog/raid3/raid1cprog/raid1c.go similarity index 100% rename from tests/go/solutions/raid3/raid1cprog/raid1c.go rename to tests/go/prog/raid3/raid1cprog/raid1c.go diff --git a/tests/go/solutions/raid3/raid1dprog/raid1d.go b/tests/go/prog/raid3/raid1dprog/raid1d.go similarity index 100% rename from tests/go/solutions/raid3/raid1dprog/raid1d.go rename to tests/go/prog/raid3/raid1dprog/raid1d.go diff --git a/tests/go/solutions/raid3/raid1eprog/raid1e.go b/tests/go/prog/raid3/raid1eprog/raid1e.go similarity index 100% rename from tests/go/solutions/raid3/raid1eprog/raid1e.go rename to tests/go/prog/raid3/raid1eprog/raid1e.go diff --git a/tests/go/solutions/range/main.go b/tests/go/prog/range/main.go similarity index 100% rename from tests/go/solutions/range/main.go rename to tests/go/prog/range/main.go diff --git a/tests/go/solutions/rectangle/main.go b/tests/go/prog/rectangle/main.go similarity index 100% rename from tests/go/solutions/rectangle/main.go rename to tests/go/prog/rectangle/main.go diff --git a/tests/go/solutions/repeatalpha/main.go b/tests/go/prog/repeatalpha/main.go similarity index 100% rename from tests/go/solutions/repeatalpha/main.go rename to tests/go/prog/repeatalpha/main.go diff --git a/tests/go/solutions/reversebits/main.go b/tests/go/prog/reversebits/main.go similarity index 100% rename from tests/go/solutions/reversebits/main.go rename to tests/go/prog/reversebits/main.go diff --git a/tests/go/solutions/reverserange/main.go b/tests/go/prog/reverserange/main.go similarity index 100% rename from tests/go/solutions/reverserange/main.go rename to tests/go/prog/reverserange/main.go diff --git a/tests/go/solutions/reversestrcap/main.go b/tests/go/prog/reversestrcap/main.go similarity index 100% rename from tests/go/solutions/reversestrcap/main.go rename to tests/go/prog/reversestrcap/main.go diff --git a/tests/go/solutions/revparams/main.go b/tests/go/prog/revparams/main.go similarity index 100% rename from tests/go/solutions/revparams/main.go rename to tests/go/prog/revparams/main.go diff --git a/tests/go/solutions/revwstr/main.go b/tests/go/prog/revwstr/main.go similarity index 100% rename from tests/go/solutions/revwstr/main.go rename to tests/go/prog/revwstr/main.go diff --git a/tests/go/solutions/robottoorigin/main.go b/tests/go/prog/robottoorigin/main.go similarity index 100% rename from tests/go/solutions/robottoorigin/main.go rename to tests/go/prog/robottoorigin/main.go diff --git a/tests/go/solutions/romannumbers/main.go b/tests/go/prog/romannumbers/main.go similarity index 100% rename from tests/go/solutions/romannumbers/main.go rename to tests/go/prog/romannumbers/main.go diff --git a/tests/go/solutions/rostring/main.go b/tests/go/prog/rostring/main.go similarity index 100% rename from tests/go/solutions/rostring/main.go rename to tests/go/prog/rostring/main.go diff --git a/tests/go/solutions/rot13/main.go b/tests/go/prog/rot13/main.go similarity index 100% rename from tests/go/solutions/rot13/main.go rename to tests/go/prog/rot13/main.go diff --git a/tests/go/solutions/rotatevowels/main.go b/tests/go/prog/rotatevowels/main.go similarity index 100% rename from tests/go/solutions/rotatevowels/main.go rename to tests/go/prog/rotatevowels/main.go diff --git a/tests/go/solutions/rpncalc/main.go b/tests/go/prog/rpncalc/main.go similarity index 100% rename from tests/go/solutions/rpncalc/main.go rename to tests/go/prog/rpncalc/main.go diff --git a/tests/go/solutions/searchreplace/main.go b/tests/go/prog/searchreplace/main.go similarity index 100% rename from tests/go/solutions/searchreplace/main.go rename to tests/go/prog/searchreplace/main.go diff --git a/tests/go/solutions/sortparams/main.go b/tests/go/prog/sortparams/main.go similarity index 100% rename from tests/go/solutions/sortparams/main.go rename to tests/go/prog/sortparams/main.go diff --git a/tests/go/solutions/switchcase/main.go b/tests/go/prog/switchcase/main.go similarity index 100% rename from tests/go/solutions/switchcase/main.go rename to tests/go/prog/switchcase/main.go diff --git a/tests/go/solutions/tabmult/main.go b/tests/go/prog/tabmult/main.go similarity index 100% rename from tests/go/solutions/tabmult/main.go rename to tests/go/prog/tabmult/main.go diff --git a/tests/go/test_addprimesum.go b/tests/go/prog/test_addprimesum.go similarity index 100% rename from tests/go/test_addprimesum.go rename to tests/go/prog/test_addprimesum.go diff --git a/tests/go/test_alphamirror.go b/tests/go/prog/test_alphamirror.go similarity index 100% rename from tests/go/test_alphamirror.go rename to tests/go/prog/test_alphamirror.go diff --git a/tests/go/test_balancedstring.go b/tests/go/prog/test_balancedstring.go similarity index 100% rename from tests/go/test_balancedstring.go rename to tests/go/prog/test_balancedstring.go diff --git a/tests/go/test_boolean.go b/tests/go/prog/test_boolean.go similarity index 100% rename from tests/go/test_boolean.go rename to tests/go/prog/test_boolean.go diff --git a/tests/go/test_brackets.go b/tests/go/prog/test_brackets.go similarity index 100% rename from tests/go/test_brackets.go rename to tests/go/prog/test_brackets.go diff --git a/tests/go/test_brainfuck.go b/tests/go/prog/test_brainfuck.go similarity index 100% rename from tests/go/test_brainfuck.go rename to tests/go/prog/test_brainfuck.go diff --git a/tests/go/test_cat.go b/tests/go/prog/test_cat.go similarity index 100% rename from tests/go/test_cat.go rename to tests/go/prog/test_cat.go diff --git a/tests/go/test_cleanstr.go b/tests/go/prog/test_cleanstr.go similarity index 100% rename from tests/go/test_cleanstr.go rename to tests/go/prog/test_cleanstr.go diff --git a/tests/go/test_comcheck.go b/tests/go/prog/test_comcheck.go similarity index 100% rename from tests/go/test_comcheck.go rename to tests/go/prog/test_comcheck.go diff --git a/tests/go/test_costumeprofit.go b/tests/go/prog/test_costumeprofit.go similarity index 100% rename from tests/go/test_costumeprofit.go rename to tests/go/prog/test_costumeprofit.go diff --git a/tests/go/test_countdown.go b/tests/go/prog/test_countdown.go similarity index 100% rename from tests/go/test_countdown.go rename to tests/go/prog/test_countdown.go diff --git a/tests/go/test_displaya.go b/tests/go/prog/test_displaya.go similarity index 100% rename from tests/go/test_displaya.go rename to tests/go/prog/test_displaya.go diff --git a/tests/go/test_displayalpham.go b/tests/go/prog/test_displayalpham.go similarity index 100% rename from tests/go/test_displayalpham.go rename to tests/go/prog/test_displayalpham.go diff --git a/tests/go/test_displayalrevm.go b/tests/go/prog/test_displayalrevm.go similarity index 100% rename from tests/go/test_displayalrevm.go rename to tests/go/prog/test_displayalrevm.go diff --git a/tests/go/test_displayfile.go b/tests/go/prog/test_displayfile.go similarity index 100% rename from tests/go/test_displayfile.go rename to tests/go/prog/test_displayfile.go diff --git a/tests/go/test_displayfirstparam.go b/tests/go/prog/test_displayfirstparam.go similarity index 100% rename from tests/go/test_displayfirstparam.go rename to tests/go/prog/test_displayfirstparam.go diff --git a/tests/go/test_displaylastparam.go b/tests/go/prog/test_displaylastparam.go similarity index 100% rename from tests/go/test_displaylastparam.go rename to tests/go/prog/test_displaylastparam.go diff --git a/tests/go/test_displayz.go b/tests/go/prog/test_displayz.go similarity index 100% rename from tests/go/test_displayz.go rename to tests/go/prog/test_displayz.go diff --git a/tests/go/test_doop.go b/tests/go/prog/test_doop.go similarity index 100% rename from tests/go/test_doop.go rename to tests/go/prog/test_doop.go diff --git a/tests/go/test_expandstr.go b/tests/go/prog/test_expandstr.go similarity index 100% rename from tests/go/test_expandstr.go rename to tests/go/prog/test_expandstr.go diff --git a/tests/go/test_firstword.go b/tests/go/prog/test_firstword.go similarity index 100% rename from tests/go/test_firstword.go rename to tests/go/prog/test_firstword.go diff --git a/tests/go/test_fixthemain.go b/tests/go/prog/test_fixthemain.go similarity index 100% rename from tests/go/test_fixthemain.go rename to tests/go/prog/test_fixthemain.go diff --git a/tests/go/test_flags.go b/tests/go/prog/test_flags.go similarity index 100% rename from tests/go/test_flags.go rename to tests/go/prog/test_flags.go diff --git a/tests/go/test_fprime.go b/tests/go/prog/test_fprime.go similarity index 100% rename from tests/go/test_fprime.go rename to tests/go/prog/test_fprime.go diff --git a/tests/go/test_gcd.go b/tests/go/prog/test_gcd.go similarity index 100% rename from tests/go/test_gcd.go rename to tests/go/prog/test_gcd.go diff --git a/tests/go/test_grouping.go b/tests/go/prog/test_grouping.go similarity index 100% rename from tests/go/test_grouping.go rename to tests/go/prog/test_grouping.go diff --git a/tests/go/test_hello.go b/tests/go/prog/test_hello.go similarity index 100% rename from tests/go/test_hello.go rename to tests/go/prog/test_hello.go diff --git a/tests/go/test_hiddenp.go b/tests/go/prog/test_hiddenp.go similarity index 100% rename from tests/go/test_hiddenp.go rename to tests/go/prog/test_hiddenp.go diff --git a/tests/go/test_inter.go b/tests/go/prog/test_inter.go similarity index 100% rename from tests/go/test_inter.go rename to tests/go/prog/test_inter.go diff --git a/tests/go/test_ispowerof2.go b/tests/go/prog/test_ispowerof2.go similarity index 100% rename from tests/go/test_ispowerof2.go rename to tests/go/prog/test_ispowerof2.go diff --git a/tests/go/test_lastword.go b/tests/go/prog/test_lastword.go similarity index 100% rename from tests/go/test_lastword.go rename to tests/go/prog/test_lastword.go diff --git a/tests/go/test_nbrconvertalpha.go b/tests/go/prog/test_nbrconvertalpha.go similarity index 100% rename from tests/go/test_nbrconvertalpha.go rename to tests/go/prog/test_nbrconvertalpha.go diff --git a/tests/go/test_nenokku.go b/tests/go/prog/test_nenokku.go similarity index 100% rename from tests/go/test_nenokku.go rename to tests/go/prog/test_nenokku.go diff --git a/tests/go/test_onlya.go b/tests/go/prog/test_onlya.go similarity index 100% rename from tests/go/test_onlya.go rename to tests/go/prog/test_onlya.go diff --git a/tests/go/test_onlyz.go b/tests/go/prog/test_onlyz.go similarity index 100% rename from tests/go/test_onlyz.go rename to tests/go/prog/test_onlyz.go diff --git a/tests/go/test_options.go b/tests/go/prog/test_options.go similarity index 100% rename from tests/go/test_options.go rename to tests/go/prog/test_options.go diff --git a/tests/go/test_paramcount.go b/tests/go/prog/test_paramcount.go similarity index 100% rename from tests/go/test_paramcount.go rename to tests/go/prog/test_paramcount.go diff --git a/tests/go/test_piglatin.go b/tests/go/prog/test_piglatin.go similarity index 100% rename from tests/go/test_piglatin.go rename to tests/go/prog/test_piglatin.go diff --git a/tests/go/test_pilot.go b/tests/go/prog/test_pilot.go similarity index 100% rename from tests/go/test_pilot.go rename to tests/go/prog/test_pilot.go diff --git a/tests/go/test_point.go b/tests/go/prog/test_point.go similarity index 100% rename from tests/go/test_point.go rename to tests/go/prog/test_point.go diff --git a/tests/go/test_printalphabet.go b/tests/go/prog/test_printalphabet.go similarity index 100% rename from tests/go/test_printalphabet.go rename to tests/go/prog/test_printalphabet.go diff --git a/tests/go/test_printbits.go b/tests/go/prog/test_printbits.go similarity index 100% rename from tests/go/test_printbits.go rename to tests/go/prog/test_printbits.go diff --git a/tests/go/test_printchessboard.go b/tests/go/prog/test_printchessboard.go similarity index 100% rename from tests/go/test_printchessboard.go rename to tests/go/prog/test_printchessboard.go diff --git a/tests/go/test_printdigits.go b/tests/go/prog/test_printdigits.go similarity index 100% rename from tests/go/test_printdigits.go rename to tests/go/prog/test_printdigits.go diff --git a/tests/go/test_printhex.go b/tests/go/prog/test_printhex.go similarity index 100% rename from tests/go/test_printhex.go rename to tests/go/prog/test_printhex.go diff --git a/tests/go/test_printparams.go b/tests/go/prog/test_printparams.go similarity index 100% rename from tests/go/test_printparams.go rename to tests/go/prog/test_printparams.go diff --git a/tests/go/test_printprogramname.go b/tests/go/prog/test_printprogramname.go similarity index 100% rename from tests/go/test_printprogramname.go rename to tests/go/prog/test_printprogramname.go diff --git a/tests/go/test_printrevcomb.go b/tests/go/prog/test_printrevcomb.go similarity index 100% rename from tests/go/test_printrevcomb.go rename to tests/go/prog/test_printrevcomb.go diff --git a/tests/go/test_printreversealphabet.go b/tests/go/prog/test_printreversealphabet.go similarity index 100% rename from tests/go/test_printreversealphabet.go rename to tests/go/prog/test_printreversealphabet.go diff --git a/tests/go/test_raid2.go b/tests/go/prog/test_raid2.go similarity index 100% rename from tests/go/test_raid2.go rename to tests/go/prog/test_raid2.go diff --git a/tests/go/test_raid3.go b/tests/go/prog/test_raid3.go similarity index 100% rename from tests/go/test_raid3.go rename to tests/go/prog/test_raid3.go diff --git a/tests/go/test_range.go b/tests/go/prog/test_range.go similarity index 100% rename from tests/go/test_range.go rename to tests/go/prog/test_range.go diff --git a/tests/go/test_rectangle.go b/tests/go/prog/test_rectangle.go similarity index 100% rename from tests/go/test_rectangle.go rename to tests/go/prog/test_rectangle.go diff --git a/tests/go/test_repeatalpha.go b/tests/go/prog/test_repeatalpha.go similarity index 100% rename from tests/go/test_repeatalpha.go rename to tests/go/prog/test_repeatalpha.go diff --git a/tests/go/test_reverserange.go b/tests/go/prog/test_reverserange.go similarity index 100% rename from tests/go/test_reverserange.go rename to tests/go/prog/test_reverserange.go diff --git a/tests/go/test_reversestrcap.go b/tests/go/prog/test_reversestrcap.go similarity index 100% rename from tests/go/test_reversestrcap.go rename to tests/go/prog/test_reversestrcap.go diff --git a/tests/go/test_revparams.go b/tests/go/prog/test_revparams.go similarity index 100% rename from tests/go/test_revparams.go rename to tests/go/prog/test_revparams.go diff --git a/tests/go/test_revwstr.go b/tests/go/prog/test_revwstr.go similarity index 100% rename from tests/go/test_revwstr.go rename to tests/go/prog/test_revwstr.go diff --git a/tests/go/test_robottoorigin.go b/tests/go/prog/test_robottoorigin.go similarity index 100% rename from tests/go/test_robottoorigin.go rename to tests/go/prog/test_robottoorigin.go diff --git a/tests/go/test_romannumbers.go b/tests/go/prog/test_romannumbers.go similarity index 100% rename from tests/go/test_romannumbers.go rename to tests/go/prog/test_romannumbers.go diff --git a/tests/go/test_rostring.go b/tests/go/prog/test_rostring.go similarity index 100% rename from tests/go/test_rostring.go rename to tests/go/prog/test_rostring.go diff --git a/tests/go/test_rot13.go b/tests/go/prog/test_rot13.go similarity index 100% rename from tests/go/test_rot13.go rename to tests/go/prog/test_rot13.go diff --git a/tests/go/test_rotatevowels.go b/tests/go/prog/test_rotatevowels.go similarity index 100% rename from tests/go/test_rotatevowels.go rename to tests/go/prog/test_rotatevowels.go diff --git a/tests/go/test_rpncalc.go b/tests/go/prog/test_rpncalc.go similarity index 100% rename from tests/go/test_rpncalc.go rename to tests/go/prog/test_rpncalc.go diff --git a/tests/go/test_searchreplace.go b/tests/go/prog/test_searchreplace.go similarity index 100% rename from tests/go/test_searchreplace.go rename to tests/go/prog/test_searchreplace.go diff --git a/tests/go/test_sortparams.go b/tests/go/prog/test_sortparams.go similarity index 100% rename from tests/go/test_sortparams.go rename to tests/go/prog/test_sortparams.go diff --git a/tests/go/test_switchcase.go b/tests/go/prog/test_switchcase.go similarity index 100% rename from tests/go/test_switchcase.go rename to tests/go/prog/test_switchcase.go diff --git a/tests/go/test_tabmult.go b/tests/go/prog/test_tabmult.go similarity index 100% rename from tests/go/test_tabmult.go rename to tests/go/prog/test_tabmult.go diff --git a/tests/go/test_tetrisoptimizer.go b/tests/go/prog/test_tetrisoptimizer.go similarity index 100% rename from tests/go/test_tetrisoptimizer.go rename to tests/go/prog/test_tetrisoptimizer.go diff --git a/tests/go/test_union.go b/tests/go/prog/test_union.go similarity index 100% rename from tests/go/test_union.go rename to tests/go/prog/test_union.go diff --git a/tests/go/test_uniqueoccurences.go b/tests/go/prog/test_uniqueoccurences.go similarity index 100% rename from tests/go/test_uniqueoccurences.go rename to tests/go/prog/test_uniqueoccurences.go diff --git a/tests/go/test_wdmatch.go b/tests/go/prog/test_wdmatch.go similarity index 100% rename from tests/go/test_wdmatch.go rename to tests/go/prog/test_wdmatch.go diff --git a/tests/go/test_ztail.go b/tests/go/prog/test_ztail.go similarity index 100% rename from tests/go/test_ztail.go rename to tests/go/prog/test_ztail.go diff --git a/tests/go/solutions/tetrisoptimizer/board.go b/tests/go/prog/tetrisoptimizer/board.go similarity index 100% rename from tests/go/solutions/tetrisoptimizer/board.go rename to tests/go/prog/tetrisoptimizer/board.go diff --git a/tests/go/solutions/tetrisoptimizer/main.go b/tests/go/prog/tetrisoptimizer/main.go similarity index 100% rename from tests/go/solutions/tetrisoptimizer/main.go rename to tests/go/prog/tetrisoptimizer/main.go diff --git a/tests/go/solutions/tetrisoptimizer/samples/bad00.txt b/tests/go/prog/tetrisoptimizer/samples/bad00.txt similarity index 100% rename from tests/go/solutions/tetrisoptimizer/samples/bad00.txt rename to tests/go/prog/tetrisoptimizer/samples/bad00.txt diff --git a/tests/go/solutions/tetrisoptimizer/samples/bad01.txt b/tests/go/prog/tetrisoptimizer/samples/bad01.txt similarity index 100% rename from tests/go/solutions/tetrisoptimizer/samples/bad01.txt rename to tests/go/prog/tetrisoptimizer/samples/bad01.txt diff --git a/tests/go/solutions/tetrisoptimizer/samples/bad02.txt b/tests/go/prog/tetrisoptimizer/samples/bad02.txt similarity index 100% rename from tests/go/solutions/tetrisoptimizer/samples/bad02.txt rename to tests/go/prog/tetrisoptimizer/samples/bad02.txt diff --git a/tests/go/solutions/tetrisoptimizer/samples/bad03.txt b/tests/go/prog/tetrisoptimizer/samples/bad03.txt similarity index 100% rename from tests/go/solutions/tetrisoptimizer/samples/bad03.txt rename to tests/go/prog/tetrisoptimizer/samples/bad03.txt diff --git a/tests/go/solutions/tetrisoptimizer/samples/bad04.txt b/tests/go/prog/tetrisoptimizer/samples/bad04.txt similarity index 100% rename from tests/go/solutions/tetrisoptimizer/samples/bad04.txt rename to tests/go/prog/tetrisoptimizer/samples/bad04.txt diff --git a/tests/go/solutions/tetrisoptimizer/samples/badFormat.txt b/tests/go/prog/tetrisoptimizer/samples/badFormat.txt similarity index 100% rename from tests/go/solutions/tetrisoptimizer/samples/badFormat.txt rename to tests/go/prog/tetrisoptimizer/samples/badFormat.txt diff --git a/tests/go/solutions/tetrisoptimizer/samples/good_01-1-2-0.00.txt b/tests/go/prog/tetrisoptimizer/samples/good_01-1-2-0.00.txt similarity index 100% rename from tests/go/solutions/tetrisoptimizer/samples/good_01-1-2-0.00.txt rename to tests/go/prog/tetrisoptimizer/samples/good_01-1-2-0.00.txt diff --git a/tests/go/solutions/tetrisoptimizer/samples/good_02-1-4-0.00.txt b/tests/go/prog/tetrisoptimizer/samples/good_02-1-4-0.00.txt similarity index 100% rename from tests/go/solutions/tetrisoptimizer/samples/good_02-1-4-0.00.txt rename to tests/go/prog/tetrisoptimizer/samples/good_02-1-4-0.00.txt diff --git a/tests/go/solutions/tetrisoptimizer/samples/good_03-2-4-0.00.txt b/tests/go/prog/tetrisoptimizer/samples/good_03-2-4-0.00.txt similarity index 100% rename from tests/go/solutions/tetrisoptimizer/samples/good_03-2-4-0.00.txt rename to tests/go/prog/tetrisoptimizer/samples/good_03-2-4-0.00.txt diff --git a/tests/go/solutions/tetrisoptimizer/samples/good_04-6-6-0.00.txt b/tests/go/prog/tetrisoptimizer/samples/good_04-6-6-0.00.txt similarity index 100% rename from tests/go/solutions/tetrisoptimizer/samples/good_04-6-6-0.00.txt rename to tests/go/prog/tetrisoptimizer/samples/good_04-6-6-0.00.txt diff --git a/tests/go/solutions/tetrisoptimizer/samples/good_05-21-10-0.00.txt b/tests/go/prog/tetrisoptimizer/samples/good_05-21-10-0.00.txt similarity index 100% rename from tests/go/solutions/tetrisoptimizer/samples/good_05-21-10-0.00.txt rename to tests/go/prog/tetrisoptimizer/samples/good_05-21-10-0.00.txt diff --git a/tests/go/solutions/tetrisoptimizer/samples/good_06-22-10-0.00.txt b/tests/go/prog/tetrisoptimizer/samples/good_06-22-10-0.00.txt similarity index 100% rename from tests/go/solutions/tetrisoptimizer/samples/good_06-22-10-0.00.txt rename to tests/go/prog/tetrisoptimizer/samples/good_06-22-10-0.00.txt diff --git a/tests/go/solutions/tetrisoptimizer/samples/good_07-26-11-0.00.txt b/tests/go/prog/tetrisoptimizer/samples/good_07-26-11-0.00.txt similarity index 100% rename from tests/go/solutions/tetrisoptimizer/samples/good_07-26-11-0.00.txt rename to tests/go/prog/tetrisoptimizer/samples/good_07-26-11-0.00.txt diff --git a/tests/go/solutions/tetrisoptimizer/samples/good_08-24-10-0.03.txt b/tests/go/prog/tetrisoptimizer/samples/good_08-24-10-0.03.txt similarity index 100% rename from tests/go/solutions/tetrisoptimizer/samples/good_08-24-10-0.03.txt rename to tests/go/prog/tetrisoptimizer/samples/good_08-24-10-0.03.txt diff --git a/tests/go/solutions/tetrisoptimizer/samples/good_09-11-7-0.07.txt b/tests/go/prog/tetrisoptimizer/samples/good_09-11-7-0.07.txt similarity index 100% rename from tests/go/solutions/tetrisoptimizer/samples/good_09-11-7-0.07.txt rename to tests/go/prog/tetrisoptimizer/samples/good_09-11-7-0.07.txt diff --git a/tests/go/solutions/tetrisoptimizer/samples/good_10-12-7-0.52.txt b/tests/go/prog/tetrisoptimizer/samples/good_10-12-7-0.52.txt similarity index 100% rename from tests/go/solutions/tetrisoptimizer/samples/good_10-12-7-0.52.txt rename to tests/go/prog/tetrisoptimizer/samples/good_10-12-7-0.52.txt diff --git a/tests/go/solutions/tetrisoptimizer/samples/good_11-12-8-0.83.txt b/tests/go/prog/tetrisoptimizer/samples/good_11-12-8-0.83.txt similarity index 100% rename from tests/go/solutions/tetrisoptimizer/samples/good_11-12-8-0.83.txt rename to tests/go/prog/tetrisoptimizer/samples/good_11-12-8-0.83.txt diff --git a/tests/go/solutions/tetrisoptimizer/samples/good_12-19-9-3.40.txt b/tests/go/prog/tetrisoptimizer/samples/good_12-19-9-3.40.txt similarity index 100% rename from tests/go/solutions/tetrisoptimizer/samples/good_12-19-9-3.40.txt rename to tests/go/prog/tetrisoptimizer/samples/good_12-19-9-3.40.txt diff --git a/tests/go/solutions/tetrisoptimizer/samples/good_13-23-10-4.72.txt b/tests/go/prog/tetrisoptimizer/samples/good_13-23-10-4.72.txt similarity index 100% rename from tests/go/solutions/tetrisoptimizer/samples/good_13-23-10-4.72.txt rename to tests/go/prog/tetrisoptimizer/samples/good_13-23-10-4.72.txt diff --git a/tests/go/solutions/tetrisoptimizer/samples/good_14-15-8-7.34.txt b/tests/go/prog/tetrisoptimizer/samples/good_14-15-8-7.34.txt similarity index 100% rename from tests/go/solutions/tetrisoptimizer/samples/good_14-15-8-7.34.txt rename to tests/go/prog/tetrisoptimizer/samples/good_14-15-8-7.34.txt diff --git a/tests/go/solutions/tetrisoptimizer/samples/good_15-26-11-72.22.txt b/tests/go/prog/tetrisoptimizer/samples/good_15-26-11-72.22.txt similarity index 100% rename from tests/go/solutions/tetrisoptimizer/samples/good_15-26-11-72.22.txt rename to tests/go/prog/tetrisoptimizer/samples/good_15-26-11-72.22.txt diff --git a/tests/go/solutions/tetrisoptimizer/solver.go b/tests/go/prog/tetrisoptimizer/solver.go similarity index 100% rename from tests/go/solutions/tetrisoptimizer/solver.go rename to tests/go/prog/tetrisoptimizer/solver.go diff --git a/tests/go/solutions/tetrisoptimizer/tetrimino.go b/tests/go/prog/tetrisoptimizer/tetrimino.go similarity index 100% rename from tests/go/solutions/tetrisoptimizer/tetrimino.go rename to tests/go/prog/tetrisoptimizer/tetrimino.go diff --git a/tests/go/solutions/tetrisoptimizer/validation.go b/tests/go/prog/tetrisoptimizer/validation.go similarity index 100% rename from tests/go/solutions/tetrisoptimizer/validation.go rename to tests/go/prog/tetrisoptimizer/validation.go diff --git a/tests/go/solutions/union/main.go b/tests/go/prog/union/main.go similarity index 100% rename from tests/go/solutions/union/main.go rename to tests/go/prog/union/main.go diff --git a/tests/go/solutions/uniqueoccurences/main.go b/tests/go/prog/uniqueoccurences/main.go similarity index 100% rename from tests/go/solutions/uniqueoccurences/main.go rename to tests/go/prog/uniqueoccurences/main.go diff --git a/tests/go/solutions/wdmatch/main.go b/tests/go/prog/wdmatch/main.go similarity index 100% rename from tests/go/solutions/wdmatch/main.go rename to tests/go/prog/wdmatch/main.go diff --git a/tests/go/solutions/ztail/main.go b/tests/go/prog/ztail/main.go similarity index 100% rename from tests/go/solutions/ztail/main.go rename to tests/go/prog/ztail/main.go