updated access logic