Working and bug free as far as i can tell.  Needs more work.