better context instantiation and prototyping

1. More flexible
2. Less memory consuming
3. Much faster