UC1, UC2 and UC3 refactored.