more parsing cleanup, add more safeParse functions, need to finish
converting blockrule parsing