add InvalidOfficeSetupException to indicate that the office object
created by the builder is not a real Office, and simulation can not be
run correctly
add basic Office functionalities