some modified..