Third Commit. still working out the kinks.