Mostly working, one exceptional case to fix