Initial upload

Admin + Generation 90% complete. Does not include user submission yet.