A rabbit hole implementation... I think this is too hacky for production.