Argh, had to fix order of some functions; also, forgot to mention that the do-or-deferred function receives a new immediate flag, when called (true if not deferred)