added pwd init functionality with separated components