fix return values and sigil variance