intruduce the listCtrl and it's interface
earse if --