Started refactoring to support the :multiple option