added each implementation for List
added self as a pseudo-keyword