add goal cover implementation