inital implemetnation