another attempt (at least it doesn't hang)