working version with all room