All functions working.

TODO - Design