use user-defined list