finished the rough version, needs to be flushed out and edited