added :bounds parameter