Main module complete. Unit testing pending.