move demos to separate module