Finally have the time to finish this. :> #WIP