Egypt first complete implementation

It actually sort of works! I am surprised.
Added option for key uniqueness