no dependencies, browser support