interacting classes