Updated to be more current and remove unfinished parts.