better encap list