Working generation 0, though messy. COmmit more for caution than progress