Working Version.
Need clean up and Settings implementation