update score logic

including passing tests