Solution to this problem is a WIP