Update first() method and add docs

Signed-off-by: Adam Engebretson <adam@enge.me>