empty also checks isset, so no need to do both