Add optional length parameter