basic implementation seems to be working. added some demo stuff in the view controller so it was easier to debug.