made interface of List more similar to the one of std::list