attempt to remove some more redundancy