Added Milestone 3

Commit is to add milestone 3 to the repo for submission to Peter Rigby
PhD.

Milestone covers refactorings to be dealt with later in the project.