/list, revisit and do exception handling & input validation