just another version with status delegate