implementing availability