fixed singleton 'always' bug and made it optional