separating files to allow build in pure js