@fengjingchao maybe also need something like isAfterxxx