allow null parameter to prevent NPE