diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,10 @@
+scroll (1.20151219) unstable; urgency=medium
+
+  * Fix copyright statement; scroll is GPL2+
+  * Fix to build under ghc 7.10.
+
+ -- Joey Hess <id@joeyh.name>  Sat, 19 Dec 2015 17:24:23 -0400
+
 scroll (1.20150323) unstable; urgency=medium
 
   * Fix a minor bug when moving over punctuation that was not swallowed.
diff --git a/Control.hs b/Control.hs
--- a/Control.hs
+++ b/Control.hs
@@ -5,6 +5,7 @@
 import qualified Data.Map as M
 import Data.Maybe
 import Control.Applicative
+import Prelude
 
 import Types
 import Status
diff --git a/Curses.hs b/Curses.hs
--- a/Curses.hs
+++ b/Curses.hs
@@ -5,6 +5,7 @@
 import qualified Data.Vector as V
 import Data.Vector ((!))
 import Control.Applicative
+import Prelude
 
 import Types
 import View
diff --git a/DeepCopy.hs b/DeepCopy.hs
--- a/DeepCopy.hs
+++ b/DeepCopy.hs
@@ -5,6 +5,7 @@
 import qualified Data.Vector as V
 import Control.Monad.State.Strict
 import Control.Applicative
+import Prelude
 
 import Types
 
diff --git a/Level/Border.hs b/Level/Border.hs
--- a/Level/Border.hs
+++ b/Level/Border.hs
@@ -10,6 +10,7 @@
 import Data.Monoid
 import Data.Char
 import Control.Applicative
+import Prelude
 
 import Types
 
diff --git a/Level/Tutorial.hs b/Level/Tutorial.hs
--- a/Level/Tutorial.hs
+++ b/Level/Tutorial.hs
@@ -10,7 +10,7 @@
 	, "                   ~ ~ ~ ~ ~"
 	, " *                                                   *"
 	, " * And yes, that's the license of Scroll!            *"
-	, " * Copyright 2015 by Joey Hess, licensed under GPL3+ *"
+	, " * Copyright 2015 by Joey Hess, licensed under GPL2+ *"
 	, " *                                                   *"
 	, "                   ~ ~ ~ ~ ~"
 	, ""
diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -6,3 +6,6 @@
 hackage:
 	@cabal sdist
 	@cabal upload dist/*.tar.gz
+
+clean:
+	cabal clean
diff --git a/Peruser.hs b/Peruser.hs
--- a/Peruser.hs
+++ b/Peruser.hs
@@ -3,8 +3,9 @@
 import Control.Monad.State.Strict
 import qualified Data.Vector.Mutable as MV
 import qualified Data.Vector as V
-import Control.Applicative
 import Control.Monad.IfElse
+import Control.Applicative
+import Prelude
 
 import Types
 import Status
diff --git a/Player.hs b/Player.hs
--- a/Player.hs
+++ b/Player.hs
@@ -4,6 +4,7 @@
 import qualified Data.Vector.Mutable as MV
 import Control.Applicative
 import Data.Maybe
+import Prelude
 
 import Types
 import Level.Border
diff --git a/Player/Move.hs b/Player/Move.hs
--- a/Player/Move.hs
+++ b/Player/Move.hs
@@ -1,9 +1,12 @@
+{-# LANGUAGE FlexibleContexts #-}
+
 module Player.Move where
 
 import Control.Monad.State.Strict
 import Data.Char
 import Data.Maybe
 import Control.Applicative
+import Prelude
 
 import Types
 import World
diff --git a/Poison.hs b/Poison.hs
--- a/Poison.hs
+++ b/Poison.hs
@@ -3,9 +3,10 @@
 import Control.Monad.State.Strict
 import qualified Data.CaseInsensitive as CI
 import qualified Data.Map as M
-import Control.Applicative
 import Data.Char
 import Data.Maybe
+import Control.Applicative
+import Prelude
 
 import Types
 import Rand
diff --git a/Rand.hs b/Rand.hs
--- a/Rand.hs
+++ b/Rand.hs
@@ -11,6 +11,7 @@
 import System.Random
 import Control.Applicative
 import Control.Monad.State.Strict
+import Prelude
 
 import Types
 
diff --git a/Spell.hs b/Spell.hs
--- a/Spell.hs
+++ b/Spell.hs
@@ -7,9 +7,10 @@
 import qualified Data.Vector.Mutable as MV
 import Data.Char
 import Data.Maybe
-import Control.Applicative
 import Control.Monad.IfElse
 import UI.NCurses (Event(..))
+import Control.Applicative
+import Prelude
 
 import Spell.Enum
 import CharMap
diff --git a/TODO b/TODO
--- a/TODO
+++ b/TODO
@@ -8,3 +8,12 @@
 scroll: ./Data/Vector/Generic/Mutable.hs:590 (read): index out of bounds (6,6)
 
 The typescript fileG0A3Np on clam should show this happening.
+as should filecobD95 and fileOlHEMR on elephant.
+
+"Game exploded when I maximized the terminal window." -- tmp/fileBQE03e
+
+"I think I went into a dream while stunned, and came out permenantly
+stunned." -- tmp/filehgwH0C on clam
+
+Casting a spell should only use 1 of each spell component even when
+multiple are swallowed. This would allow stacking spells (eg, "new new x")
diff --git a/Unicode.hs b/Unicode.hs
--- a/Unicode.hs
+++ b/Unicode.hs
@@ -59,10 +59,12 @@
 
 unicodeCharDesc :: Char -> String
 unicodeCharDesc c
-	| l1 `elem` "AEIOU" = "an " ++ s
+	| l1 `elem` vowel = "an " ++ s
 	| otherwise = "a " ++ s
   where
   	s@(l1:_) = unicodeCharString c
+	vowel :: String
+	vowel = "AEIOU"
 
 unicodeCharString :: Char -> String
 unicodeCharString c = maybe [c] B.unpack (unicodeCharName c)
diff --git a/View.hs b/View.hs
--- a/View.hs
+++ b/View.hs
@@ -3,6 +3,7 @@
 import qualified Data.Vector as V
 import Control.Applicative
 import Control.Monad.ST
+import Prelude
 
 import Types
 
diff --git a/World.hs b/World.hs
--- a/World.hs
+++ b/World.hs
@@ -6,6 +6,7 @@
 import Control.Monad.State.Strict
 import qualified Data.Vector.Mutable as MV
 import Control.Applicative
+import Prelude
 
 import Types
 
diff --git a/WorldSetup.hs b/WorldSetup.hs
--- a/WorldSetup.hs
+++ b/WorldSetup.hs
@@ -5,8 +5,9 @@
 import qualified Data.Vector as V
 import qualified Data.Set as S
 import Data.Vector ((!))
-import Control.Applicative
 import Data.Default
+import Control.Applicative
+import Prelude
 
 import Types
 import Level
diff --git a/scroll.cabal b/scroll.cabal
--- a/scroll.cabal
+++ b/scroll.cabal
@@ -1,5 +1,5 @@
 Name: scroll
-Version: 1.20150323
+Version: 1.20151219
 Cabal-Version: >= 1.6
 License: GPL-2
 Maintainer: Joey Hess <id@joeyh.name>
@@ -10,6 +10,7 @@
 Category: Game
 Synopsis: scroll(6), a roguelike game
 Homepage: https://joeyh.name/code/scroll/
+License-File: GPL.hs
 Extra-Source-Files:
   CHANGELOG
   TODO
@@ -24,7 +25,7 @@
 
 Executable scroll
   Main-Is: Main.hs
-  GHC-Options: -Wall -threaded -O2
+  GHC-Options: -threaded -Wall -fno-warn-tabs
   Build-Depends: base >= 4.5, base < 5, vector, bytestring, mtl,
     containers, ncurses, data-default, random, monad-loops, IfElse,
     case-insensitive, optparse-applicative, text
@@ -73,3 +74,7 @@
     View
     World
     WorldSetup
+
+source-repository head
+  type: git
+  location: git://git.joeyh.name/scroll.git
diff --git a/unix/Pager.hs b/unix/Pager.hs
--- a/unix/Pager.hs
+++ b/unix/Pager.hs
@@ -4,6 +4,7 @@
 import System.Posix.IO
 import System.Posix.Terminal
 import Control.Applicative
+import Prelude
 
 -- If stdin is not connected to a tty, we're being used as a pager with
 -- output piped in. The content of stdin is sucked in and returned for
