alien stuff is mostly done needs testing and the last function in ALIEN FUNCTOR is doesnt work