make compatible with __set && __get