First main

Compiles but untested