added preliminary ex5 stuffs