generate platforms