initial working version

Basic functionality works, still bugs out the wazoo