bounds now supports normalizing and pass through as well