added working COM func