stuff from hackathon, will need more cleanup