version 19. redesign and recode.