more general logic and theme