separate demo from src