refactred Base project