putting this on github because i have zero versioning control right now.