UC1, UC2 and UC3 refactored.

Documentation will be updated soon to reflect the re-factoring process.