avoid unnecessary instantiation