mostly javascript