adds even more JS functionality