different loop methods

they all seem to have a slight delay grr