add empty checks