marked many methods as inline, even though it doesn't seem to affect the code size any
simplified the code slightly
if we cannot find a nonzero wfa, throw an exception instead of returning a null pointer