this is just a POC. not meant to be finished