Brought more logic to generic.