implement the signcase macro