Optimise: reduce database calls (get account only when needed)