adding initiali implementation