Basic functioning version, packaging is hacky