You are missing protection against zero here.