added working js3