use prototype to impl inheritance