use prototype rather than redefined function by instance