Rough work in progress on scoring mechanism, not abstracted into objects yet