fixed bug with bounds + used forall