Not sure if this is correct but it compiles