quick first pass. Really all I needed, might flesh out later