Lotta code cleanup, also better done/fail handling