some frustrating type errors...I'll finish this in the morning.