initial commit. most of this was written on an iphone, so not many code examples.