finished complete implentation. still needs refactoring but core functionality is done with score keeping