enhanced constraints and docs