backup of code skeleton. class diagram changed as well