initial commit

done enough, but might tweak a little more before final submit...