revised logic to avoid NPE