Initial module code. TODO: tests/examples