add option 'fade' to allow customization