Add protocol
Clean code
Add new category