not support subclass yet