separated visual model