added auto-init