First compilable version, stubbed in a lot of places