improve demo module