Started on client-side javascript version