Main source file; cabal setup