finished finished JS  the whole thing works