should use public_send rather than send