level 1 and 2 done as examples