edited/cleaned-up