updated with further cleanliness