Implement addAll and reverse. Also use StringBuilder for toString