added more DOM Level 4 support