avoid unnecessary instance creation