links first real commit. Need to fix a few bugs but basic implementation in.