Merge v1

I think we should renamed `context_alloc` to `context_new`.