add presence checking