suggestion for neatening up the wrapping code