updated with spaces maintained