Partially done - can't spend any more time on it.