This is a work in progress. There are other mechanics and things I'd like to implement but life is life! :)