First real commit. Still needs refinement.