diff --git a/LICENSE b/LICENSE
new file mode 100644
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,24 @@
+Copyright (c) 2015-2016, Stack contributors
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+      notice, this list of conditions and the following disclaimer in the
+      documentation and/or other materials provided with the distribution.
+    * Neither the name of stack nor the
+      names of its contributors may be used to endorse or promote products
+      derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL STACK CONTRIBUTORS BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,24 +1,11 @@
-# [Octane][]
-
-[![Version badge][]][version]
-[![Windows build badge][]][windows build]
-[![Build badge][]][build]
-
-Octane parses [Rocket League][] replays.
+## The Haskell Tool Stack
 
-To use Octane, first download and unpack the [latest release][] for your
-operating system. Then run `octane path-to/the.replay`.
+[![Build Status](https://travis-ci.org/commercialhaskell/stack.svg?branch=master)](https://travis-ci.org/commercialhaskell/stack)
+[![Windows build status](https://ci.appveyor.com/api/projects/status/c1c7uvmw6x1dupcl?svg=true)](https://ci.appveyor.com/project/snoyberg/stack)
+[![Release](https://img.shields.io/github/release/commercialhaskell/stack.svg)](https://github.com/commercialhaskell/stack/releases)
 
-The [Rocket League Replays wiki][] has links to other Rocket League replay
-parsers.
+`stack` is a cross-platform program for developing Haskell projects. It is aimed
+at Haskellers both new and experienced.
 
-[Octane]: https://github.com/tfausak/octane
-[Version badge]: https://www.stackage.org/package/octane/badge/nightly?label=version
-[version]: https://www.stackage.org/package/octane
-[Windows build badge]: https://ci.appveyor.com/api/projects/status/github/tfausak/octane?branch=main&svg=true
-[windows build]: https://ci.appveyor.com/project/TaylorFausak/octane
-[Build badge]: https://travis-ci.org/tfausak/octane.svg?branch=main
-[build]: https://travis-ci.org/tfausak/octane
-[Rocket League]: http://www.rocketleaguegame.com
-[latest release]: https://github.com/tfausak/octane/releases/latest
-[Rocket League Replays wiki]: https://github.com/rocket-league-replays/rocket-league-replays/wiki/Rocket-League-Replay-Parsers
+See [haskellstack.org](http://haskellstack.org) or the `doc` directory for more
+information.
diff --git a/library/Octane/Parser.hs b/library/Octane/Parser.hs
--- a/library/Octane/Parser.hs
+++ b/library/Octane/Parser.hs
@@ -88,15 +88,19 @@
                                        , Type.replicationIsNew = Just isNew
                                        }))
                         else do
-                            -- TODO: Parse existing actor.
-                            return
-                                ( context
-                                , Just
-                                      (Type.Replication
-                                       { Type.replicationActorId = actorId
-                                       , Type.replicationIsOpen = isOpen
-                                       , Type.replicationIsNew = Just isNew
-                                       }))
+                            let maybeClassId = getClassId context actorId
+                            case maybeClassId of
+                                Nothing -> fail "TODO: Could not get class ID."
+                                Just _classId ->
+                                    -- TODO: Parse existing actor.
+                                    return
+                                        ( context
+                                        , Just
+                                              (Type.Replication
+                                               { Type.replicationActorId = actorId
+                                               , Type.replicationIsOpen = isOpen
+                                               , Type.replicationIsNew = Just isNew
+                                               }))
                 else return
                          ( context
                          , Just
@@ -141,3 +145,7 @@
                     go (i + 1) newValue
                 else return value
     go 0 0
+
+-- TODO: Actually implement this.
+getClassId :: Context -> BS.ByteString -> Maybe ()
+getClassId _context _actorId = Nothing
diff --git a/octane.cabal b/octane.cabal
--- a/octane.cabal
+++ b/octane.cabal
@@ -3,7 +3,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           octane
-version:        0.4.16
+version:        0.4.17
 synopsis:       Parse Rocket League replays.
 description:    Octane parses Rocket League replays.
 category:       Game
@@ -11,6 +11,7 @@
 bug-reports:    https://github.com/tfausak/octane/issues
 maintainer:     Taylor Fausak
 license:        MIT
+license-file:   LICENSE
 build-type:     Simple
 cabal-version:  >= 1.10
 
@@ -32,7 +33,7 @@
   build-depends:
       aeson ==0.11.*
     , aeson-pretty ==0.7.*
-    , autoexporter ==0.1.*
+    , autoexporter >=0.1 && <0.3
     , base ==4.8.*
     , binary ==0.7.*
     , binary-bits ==0.5.*
diff --git a/package.yaml b/package.yaml
--- a/package.yaml
+++ b/package.yaml
@@ -38,7 +38,7 @@
   dependencies:
   - aeson ==0.11.*
   - aeson-pretty ==0.7.*
-  - autoexporter ==0.1.*
+  - autoexporter >=0.1 && <0.3
   - base ==4.8.*
   - binary ==0.7.*
   - binary-bits ==0.5.*
@@ -70,4 +70,4 @@
     - -with-rtsopts=-N
     main: TestSuite.hs
     source-dirs: test-suite
-version: '0.4.16'
+version: '0.4.17'
diff --git a/stack.yaml b/stack.yaml
--- a/stack.yaml
+++ b/stack.yaml
@@ -1,3 +1,3 @@
 install-ghc: true
 require-stack-version: ! '>=1.0.4'
-resolver: nightly-2016-04-06
+resolver: nightly-2016-04-14
