boilerplate for creating a cross-platform module