with spinner
with handling of refs better.. and such