add support for external platforms and targets