Javascript framework