applying a complex object