Github backend

Work in progress - it needs testing.