added id and parentElement implementation