fixed: return types for IDE and singletons