WIP - Initial Commit

TODOs - Optimization, Error Handling
WIP - Initial Commit

TODO - Testing