Basic functionality all seems to be working. Needs testing,
verification, etc.