Initial Commit

new commit, no more copy and pasted code.  Time to do it my way from
scratch.  it will suck, but i will improve it over time