First working version, crude functionality.