initial commit...more testing needed.