I realize these are rudimentary, I'll prune them after class