keeping cls context no matter what