added drop_while method