added stripped-down version