Initial code push (a bit late, but nevertheless all the code is complete