added callback to avoid circular dependency through projects