be smarter with class property