refactor - improve elegance