javascript parts are mostly figured out.