a lot of disperse module writing