Added a*, it's slightly buggy