got a rough model working I think