fixes #2, support require syntax