merge changes from impl