feat: add functions methods and tests