uniqueness issue solved, prototype is mostly functional