Refactoring has been done; all utilty functions have been moved into a file called util.fs and all type definitions from the file Machine.fs have been moved to Architecture.fs
Another big refactoring has been done; rule 3 has been rewritten