WIP: still needs improvement, build broken tells where the problem is