Fully functional. Needs code cleanup/comments and print function for
multiple cases of plural or not.