Implementation of Generic List