Refactor js, add error