Basic functionality in place. Cleanup needed.