and i have to implement all this first