Taylor refactor
new protocol design
Code refactor and examples