Guest logic. Global refactor