final project validated with js