Move demo to a separate file