Working on backend. Closes #1. Closes #3. Still need to update front-end before #2 is finished.