add a lot
finish first version with out AD