Various changes, Implementing Open Graph, combining code from both of Joe's branches