Typed/most of work portion done of #39.