feat: add 3 edge types