feat: add tests