avoid possible npe