progress on observer copy