demand logic creation