this way it uses far less cpu