Initial code commit (VERY ROUGH)

Initial code commit. Very rough stages - purely experimental at this
point, almost no practical functionality.