Now compiles (almost)