added stateless decode