feat(affix): add basic affix