moved core programs into seperate file