* updated to accept imageUrl instead of uiimage for async loading