restructure to make it work with antigen