remove populate* functions and optimize the constructor of Array for 
lists