This is basically correct now