moving to dom api so we don't need to compile