Implement List and its spec