This is correct. POM is about setting up a model of the objects that you're going to automate against and then build methods and properties on those objects. It's not necessary to build a POM in TestComplete because NameMapping essentially builds most of that for you. If you want to build custom functions to operate against particular objects, that's possible but it's not exactly POM because you can't just call Aliases.MyPage.MyControl.MyCustomFunction. Instead, you'd have to do something like MyCustomFunctions(Aliases.MyPage.MyControl,"MyAction") to execute a custom action against a control.