add exam .a lot of bugs to fix.