soft and hard codebase 2