feat: encapsulate private methods