edit project logic