new singleton support for extra arguments