Almost done. Need to tweek a few things.

Signed-off-by: Callum <callum.terris@gmail.com>