updated with js