add optional spacer parameter