added a max width parameter