add set spec
add traversing spec and fixed some bugs
add classes spec and fix some bugs