Things to fix: I've come across something that might be considered a bug or perhaps just undefined behavior for the program. When performing extract, if the user gives an input of the form 1.0 instead of just the integer 1, it will work as it should but if the user then tries to extract again, the program immediately crashes before the user can give any input. I believe this is probably a result of cin not being cleared after the first extract. Just thought I'd bring this to your attention. Can we fix the blanks in names?