can be used as a node module