Try to re-do thread safety in a less complex way - half way there