Added initial framework for part3