add some addtional method