reimplement include
add test on double includes
add test for nested includes
add package for npm
reorganize tests