add safeWithBlock methods