cleaned up for new prototype that may or may not get completed soon.