* feat: migrate from setup.py to pyproject.toml * chore: addressing PR comments * chore: addressing more comments