goal source code splitted up