feat: unit + funcional tests