Refactory to legibility