better sigil change detection
added sub scalar()