stupid to use sh