Delegate propagation added
delegate methods optional