cleaned-up variant