object interaction implemented