cleaned for readability