clean codes
make test work well
Merge branch 'functions' into backbone