is there any specific reason for not returning `self` anymore?