make container preserve order of insertion; closes #16