changed revel to use array and persist tag state