adopted camelCase, merge extend() & createElement()