implementing steps