fix pushing function
correctly clone Datas
use correct js inheritance patterns