added better comments and list return ordering