move demos to a separate module