generalize a bit and provide more examples