preliminary code

this is the first upload to github, the code here was written over the
course of a few days.