port project to be ide independent