Major ongoing refactoring and new code.  Full revamp of block handling and data type system