added ragel stuff