changing delegate set order to avoid unwanted callbacks