add 'hard' option