Gr rebased

@ryancarlson Of course this is not ready to be merged, but I wanted to get some feedback from you to see if I am doing this correctly.