add a functional demo access still inefficient