no more depend on jquery