final push for the night. there are still a few bugs to sort out, but its 4:15 am and I am unable to continue to be productive. I will try to get up early tomorrow and finish up...