adapt to bounds as an option