use privitive types to avoid issues in IE