added length limits