First go 'round

Pretty simple implementation, and likely to be some things I want to
change later.